A rem B = A - ( A / B ) * B rem运算符:A/B的运算结果是向0的方向取整。
A mod B = A - ( A / B ) * B mod运算符:A/B的运算结果是向下取整。
两者的式子都是一样的,就是因为A/B取整的机制不一样,所以在A/B是负数的时候,带来了不同的取整也因此带来不同结果:下例中只有A、B异号时结果不同。
示例:
5 mod 3 = 2
(-5) mod 3 = 1
5 mod (-3) = -1
(-5) mod (-3) = -2
5 rem 3 = 2
(-5) rem 3 = -2
5 rem (-3) = 2
(-5) rem (-3) = -2