負の数値に対する JavaScript の % 演算子: ネガティブなサプライズ
剰余演算子 (%) は、剰余を処理するための貴重なツールです。ただし、JavaScript で負の数値を扱う場合、予期しない結果が生じる可能性があります。
問題:
(-13) % 64 のような場合、JavaScript は次の値を返します。 -13 ですが、Google 電卓などの従来の計算機では肯定的な結果が得られます (51)。この不一致は、負のオペランドを使用した演算子の動作に起因します。
修正:
この問題を克服するには、負の数に対する法演算子のカスタム実装を使用できます。 :
Number.prototype.mod = function (n) { "use strict"; return ((this % n) + n) % n; };
この変更により、(-13) % 64 の結果が次のようになります。 51、予想される数学的結果と一致しています。詳細については、「JavaScript Modulo のバグ」の記事を参照してください。
以上がJavaScript のモジュロ演算子 (%) が負の数値で予期しない結果を生成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。