问个关于负数求余的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:22:07
首先让我们来看

57 MOD 30 = 27

这个我清楚,然后

-57 MOD 30 = -27

这个看上去我理解了,应该理解了吧,我们在看

57 MOD -30 = 27
-57 MOD -30 =-27

这些我就不我就理解了,想问问这个负号的规则到底是怎么样的,先谢过了

MOD跟正负没有任何关系的,
因为
57=1*30+27
当然也有
57=(-1)*(-30)+27
所以取余结果是一样的.

只要知道余数与被除数同号就迎刃而解了,而且 |余数| < |除数|。自己体会一下就OK了

n mod m的定义是 n=m*k+p n、m、k、p是整数。
k=[n/m] 方括号的含义是不大于n/m的最大整数; p是与m同符号,模小于m的整数。
所以57mod30=27 ,k=1; -57 mod -30=-27 ,k=1 ;
但是(-57)mod 30 时,k=-2 ,余数为3;
57 mod (-30) 时,k=-2 ,余数为-3 。

楼主负数求余的值可能有误。! 谨供参考。

mod里面的负号可以去掉的,而被除数的负号要加到结果前

如果两个数的符号相同就像平时的除法一样处理,如果相反的话,余数的符号就去被除数的符号