Java のモジュロと剰余について
Java では、モジュロ演算子 (%) は、ある数値を別の数値で除算した後の剰余を計算します。 Python のモジュロ演算子とは異なり、Java のモジュロ演算は負の入力に対して負の値を返します。 Python と Java の両方で -1 % 2 を計算するときに示されているように、これは予期しない結果につながる可能性があります。
不一致の解決
Python のモジュロと同じ動作を実現するにはJava の演算子を使用する場合は、次のテクニックを使用できます:
コード例:
<code class="java">int i = (((-1 % 2) + 2) % 2);</code>
または
<code class="java">int i = -1 % 2; if (i < 0) i += 2;</code>
これらの手法を使用すると、Java のモジュロ演算が Python のモジュロ演算子と一貫して動作し、予期される正の剰余値を提供することが保証されます。
以上がJava のモジュロ演算子が負の入力に対して負の結果を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。