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

Patricia Arquette
リリース: 2024-11-02 04:50:02
オリジナル
552 人が閲覧しました

Why Does Java's Modulo Operator Return Negative Results for Negative Inputs?

Java のモジュロと剰余について

Java では、モジュロ演算子 (%) は、ある数値を別の数値で除算した後の剰余を計算します。 Python のモジュロ演算子とは異なり、Java のモジュロ演算は負の入力に対して負の値を返します。 Python と Java の両方で -1 % 2 を計算するときに示されているように、これは予期しない結果につながる可能性があります。

不一致の解決

Python のモジュロと同じ動作を実現するにはJava の演算子を使用する場合は、次のテクニックを使用できます:

  • 式を使用する: 式 (((-1 % 2) 2) % 2) を適用して、常に
  • 負の値を確認する: モジュロ演算子を使用する代わりに、除算の結果が負であるかどうかを確認します。そうである場合は、結果に分母を加算して正の値を取得します。

コード例:

<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 サイトの他の関連記事を参照してください。

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