JavaScript 取模与取余
除法
商是 令其与分子乘积的绝对值 不超过 分母的绝对值 且最接近的数
(-10) / 3 = -3 余 -1
10 / (-3) = -3 余 1
(-10) / (-3) = 3 余 -1
取余与取模
取余是数学中的概念,取模是计算机中的概念,两者都是求两数相除的余数
-
当两数符号相同时,结果相同
7%4 与 7 Mod 4 结果都是3
-
当两数符号不同时,结果不同
(-7)%4=-3
(-7)Mod4=1
(-7) / 4 = -1.75
取余运算,求商采用fix函数,向0方向舍入,取 -1。因此 (-7) % 4 商 -1 余数为 -3
取模运算,求商采用 floor 函数,向无穷小方向舍入,取 -2。因此 (-7) Mod 4 商 -2 余数为 1
JavaScript 算术运算符
求余 %
JS中 % 是取余运算,非取模运算
取模运算可采用如下公式
Number.prototype.mod = function(n) { return ((this % n) + n) % n; } // 或 function mod(n, m) { return ((n % m) + m) % m; }