取模与取余

以下简单分析一下这俩运算。

对于整数a,b来说,取模运算或者求余运算的方法要分如下两步:

  1. 求整数商:c=a/b
  2. 计算模或者余数:r=a-(c*b)

求模运算和求余运算在第一步不同。

  • 取余运算在计算商值向0方向舍弃小数位,即3.3和-3.3变为3和-3。
  • 取模运算在计算商值向负无穷方向舍弃小数位,即3.3和-3.3变为3和-4。

例如:4/(-3)≈-1.33

在取余运算时候商值向0方向舍弃小数位为-1,在取模运算时商值向负无穷方向舍弃小数位为-2,所以

1
2
4 rem (-3) = 1
4 mod (-3) = -2