Java では -1 % 2 が -1 を返すのに、Python では 1 を返すのはなぜですか?

Susan Sarandon
リリース: 2024-10-30 04:04:28
オリジナル
1002 人が閲覧しました

Why Does -1 % 2 Return -1 in Java, but 1 in Python?

Java のモジュロ演算: 正の数と負の数が重要な理由

Java でモジュロ演算を実行する場合、モジュロとモジュロの微妙な違いを理解する残りが重要です。 Python とは異なり、Java のモジュロ演算子 (%) は剰余ではなく剰余を計算します。

質問に示されている例を考えてみましょう。Java では -1 % 2 は -1 を返しますが、Python では 1 を返します。これは、Python が法を計算し、常に非負の値を生成するのに対し、Java は最初のオペランドの符号 (この場合は -1) を保持する剰余を計算するためです。

と同じ動作を取得するにはPython では、次のテクニックを使用できます:

  • 加算とモジュロ: 負の結果に 2 を加算し、再度モジュロを適用します。この操作により、結果が常に正になることが保証されます:
<code class="java">int i = (((-1 % 2) + 2) % 2)</code>
ログイン後にコピー
  • 条件付き増分: 結果を元の剰余に初期化し、負の場合は 2 を加算します。
<code class="java">int i = -1 % 2;
if (i < 0) i += 2;</code>
ログイン後にコピー

これらの手法は、Java で負の数の法を計算する必要がある場合に常に適用されることに注意してください。 Python と Java の演算子は同じ記号 (%) を持っていますが、動作が異なるため、言語間を移行する場合に混乱が生じる可能性があります。

以上がJava では -1 % 2 が -1 を返すのに、Python では 1 を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!