被除数/除数=商·······余数=>被除数=除数x商+余数
即余数=被除数-商x除数
不同点
A mode
B = A - (A/B)*B中的A/B向负无穷方向取整;
A rem
B = A - (A/B)*B中的A/B向0的方向取整。
相同点
A%B的公式均为A - (A/B)×B
由不同点可知,若商为正数则模运算与取余运算结果相同,否则取模运算结果=取余运算结果+1x除数。
举例
7 ÷ (-3) ≈ -2.3
对于取模运算7 / (-3) = -3即7 mode
-3 = 7 - (-3) × (-3) = -2;
对于取余运算7 / (-3) = -2即7 rem
-3 = 7 - (-2) × (-3) = 1。
在相关语言中的应用
C、C++、Java、JS、powershell等中的%
均为取余运算,而python中的%
则是真正的取模运算。