Java での負のモジュロ結果
Java で負の数を使用してモジュロ演算を実行すると、得られた結果と異なる結果が得られることに気付いたかもしれません。 Pythonで。 Java では、 int i = -1 % 2 は -1 を返しますが、Python では 1 を返します。
Modulo と Remainder について
この違いを理解するための鍵モジュロと剰余の違いにあります。 Python では、% 演算子は係数を返し、常に非負の結果を生成します。対照的に、Java のモジュロ演算子は剰余を返します。分子が負の場合、剰余は負になる可能性があります。
負の結果を修正する
Python の % 演算子と同じ動作を得るにはJava では、次の手順を実行できます。
または、次の式を使用することもできます:
int i = (((-1 % 2) 2) % 2);
これらのメソッドを適用すると、次のことができます。 Java のモジュロ演算子が負の入力に対して正の結果を返し、Python の動作と一致することを確認します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3