JavaScript 的負數模數運算子行為
在 JavaScript 中,模數運算子 (%) 計算的餘數。然而,它對於負被除數值的表現與數學約定和其他程式語言不同。
對負被除數執行模數運算時,JavaScript 傳回負餘數,而數學計算和大多數其他程式語言產生正餘數一。這可以透過以下範例來示範:
解決問題
為了在JavaScript 中獲得涉及負數的模運算的正確結果,我們可以使用以下自訂函數:
Number.prototype.mod = function (n) { "use strict"; return ((this % n) + n) % n; };
此函數,當應用於負股息時,確保回傳的餘數為正。例如:
console.log((-13).mod(64)); // Output: 51 (correct result)
以上是為什麼 JavaScript 的模運算子會產生負數的意外結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!