标准规定取模运算的结果与第一操作数符号相同。所以
-9 % 7 = -2
以及9 % -7 = 2
。
我在一本书中读到标准依赖于实现。所以-9 % 7
可能得到-2
或者5
???如何使-9 / 7
的余数为5
?
%
运算符的定义如下:
a == (a / b * b) + a % b
a % b = a - (a / b * b)
-9 % 7 == -2
-9 / 7 == -1
,因此%
的结果是-2
,因为:-9 % 7 == -9 - (-9 / 7 * 7) + 9 == -9 + 7 == -2
-9 % 7 == 5
您有一个表达式-9 / 7 == -2
,所以%
的值为5
-9 % 7 == -9 - (-9 / 7 * 7) + 9 == -9 + 14 == 5