取模运算和取余运算是两个不同又相近的运算。
运算规则
都是c=a/b(整除),然后r=a-a*c,r就是a对b取模或者取余的结果。
取余运算的c向0 方向舍入(fix()函数);而取模运算向负无穷方向舍入(floor()函数)。
例子
-7 Mod 4
取余运算c=-1,结果为-3,
取模运算c=-2,结果为1。
因此只有当a为负数时,两个运算结果会不同。
另外
各个环境下%运算符的含义不同,比如c/c++,java 为取余(结果为非负数),而python则为取模(结果可以为负数)。