JavaScript 的负数 % 运算符:负数惊喜
模运算符 (%) 是处理余数的有用工具。然而,当 JavaScript 中出现负数时,结果可能会出乎意料。
问题:
在 (-13) % 64 等情况下,JavaScript 返回-13,而谷歌计算器等传统计算器给出的结果是正数 (51)。这种差异源于运算符对负操作数的行为。
修复:
要解决此问题,可以采用负数模运算符的自定义实现:
Number.prototype.mod = function (n) { "use strict"; return ((this % n) + n) % n; };
此修改确保 (-13) % 64 的结果是51,与预期的数学结果保持一致。有关更多信息,请参阅“JavaScript Modulo Bug”文章。
以上是为什么 JavaScript 的模运算符 (%) 会产生负数的意外结果?的详细内容。更多信息请关注PHP中文网其他相关文章!