问个关于负数求余的问题
来源:百度知道 编辑:UC知道 时间:2024/05/25 03:22:07
首先让我们来看
57 MOD 30 = 27
这个我清楚,然后
-57 MOD 30 = -27
这个看上去我理解了,应该理解了吧,我们在看
57 MOD -30 = 27
-57 MOD -30 =-27
这些我就不我就理解了,想问问这个负号的规则到底是怎么样的,先谢过了
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里面的负号可以去掉的,而被除数的负号要加到结果前
如果两个数的符号相同就像平时的除法一样处理,如果相反的话,余数的符号就去被除数的符号