整数的取余运算
整数的取余运算:
整数的取余运算是分有符号和无符号的,有自己的一套规则。这里不去深究,我看了好几次也没记住。(有兴趣可以看下一篇:关于%运算)下面看个简单的:
根据这个规则:
被除数= 除数*商+余数
余数的符号与被除数据的符号有关
虽然有时候和编译器有关,但是一般情况下都符合上面的规则。
如:13%-3等价于 13=(-3)*(-4)+1 余数应该是1(符号和被除数一样是正的)
所以存在-13%-3等价于 -13=(-3)*4 +(-1) 余数应该是-1(符号和被除数一样是负的)
下面几个是在vs2005中经过验证的结果:
表达式 结果
-3 % -2 -1
-3 % -5 -3
3 % -7 3
3 % -6 3