ホームページ  >  記事  >  Java  >  Java のモジュロ演算子が負の数に対して負の結果を返すのはなぜですか?

Java のモジュロ演算子が負の数に対して負の結果を返すのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-30 11:50:02209ブラウズ

Why Does Java's Modulo Operator Return a Negative Result for Negative Numbers?

Java での負のモジュロ結果

Java で負の数を使用してモジュロ演算を実行すると、得られた結果と異なる結果が得られることに気付いたかもしれません。 Pythonで。 Java では、int i = -1 % 2 は -1 を返しますが、Python では 1 を返します。

剰余と剰余を理解する

この違いを理解するための鍵モジュロと剰余の違いにあります。 Python では、% 演算子は係数を返し、常に非負の結果を生成します。対照的に、Java のモジュロ演算子は剰余を返します。分子が負の場合、剰余は負になる可能性があります。

負の結果を修正する

Python の % 演算子と同じ動作を得るにはJava では、次の手順を実行できます。

  1. 剰余を使用して剰余を計算します: int i = -1 % 2;
  2. 剰余が非負になるように十分に加算します。 (i

または、次の式を使用することもできます:

int i = (((-1 % 2) 2) % 2) ;

これらのメソッドを適用すると、Java のモジュロ演算子が負の入力に対して正の結果を返し、Python の動作と一致するようにすることができます。

以上がJava のモジュロ演算子が負の数に対して負の結果を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。