ホームページ  >  記事  >  Java  >  Java で整数の除算を行うと予期しない結果が生じるのはなぜですか?

Java で整数の除算を行うと予期しない結果が生じるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-17 07:17:03235ブラウズ

Why Does Integer Division in Java Lead to Unexpected Results?

整数の除算の問題: Java の算術演算におけるエラーを理解する

Java では、整数値を含む除算では、望ましい結果が得られない場合に予期しないエラーが発生する可能性があります。 10 進数が含まれます。この問題を理解するには、整数の除算の概念を理解することが不可欠です。

整数の除算は、結果の小数部分を破棄するという点で浮動小数点の除算とは異なります。この動作により、次の例のように 2 つの整数を除算するときに不正確になる可能性があります。

float res = quantity / standard;

数量と標準の間の除算は、小数値を破棄して整数の結果を生成します。 6800 / 500 などの一見単純な計算でも、予想される 13.6 ではなく 13.0 が得られます。

これを修正するには、次の構文を使用して分子を強制的に浮動小数点数として扱うことができます。 :

float res = (float) quantity / standard;

これにより、分母も強制的に float としてキャストされ、浮動小数点除算が効果的に実行されます。あるいは、分母に文字 'f' を追加することもできます。

float f = 6800f / 500;

そうすることで、分母を浮動小数点として明示的に宣言し、正しい除算結果が保証されます。

以上がJava で整数の除算を行うと予期しない結果が生じるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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