JavaScript 取模与取余
<h4 id="除法">除法</h4><p>商是 令其与分子乘积的绝对值 不超过 分母的绝对值 且最接近的数</p>
<blockquote>
<p>(-10) / 3 = -3 余 -1</p>
<p>10 / (-3) = -3 余 1</p>
<p>(-10) / (-3) = 3 余 -1</p>
</blockquote>
<h6 id="取余与取模">取余与取模</h6>
<p>取余是数学中的概念,取模是计算机中的概念,两者都是求两数相除的余数</p>
<ul>
<li>
<p>当两数符号相同时,结果相同</p>
<p>7%4 与 7 Mod 4 结果都是3</p>
</li>
<li>
<p>当两数符号不同时,结果不同</p>
<p>(-7)%4=-3</p>
<p>(-7)Mod4=1</p>
<blockquote>
<p>(-7) / 4= -1.75</p>
<p>取余运算,求商采用fix函数,向0方向舍入,取 -1。因此 (-7) % 4 商 -1 余数为 -3</p>
<p>取模运算,求商采用 floor 函数,向无穷小方向舍入,取 -2。因此 (-7) Mod 4 商 -2 余数为 1</p>
</blockquote>
</li>
</ul>
<h4 id="javascript-算术运算符">JavaScript 算术运算符</h4>
<h6 id="求余-">求余 %</h6>
<blockquote>
<p>JS中 % 是取余运算,非取模运算</p>
<p>取模运算可采用如下公式</p>
<pre><code class="language-js">Number.prototype.mod = function(n) {
return ((this % n) + n) % n;
}
// 或
function mod(n, m) {
return ((n % m) + m) % m;
}
</code></pre>
<p>参考 https://stackoverflow.com/a/17323608</p>
</blockquote>
<h4 id="_"></h4><br><br>
来源:https://www.cnblogs.com/usmile/p/14405737.html
頁:
[1]