返回顶部

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;
}

参考 https://stackoverflow.com/a/17323608

posted @ 2021-02-15 23:07  usmile  阅读(8699)  评论(0编辑  收藏  举报