ホームページ >バックエンド開発 >C++ >C Float 除算での整数の切り捨てを回避するには?

C Float 除算での整数の切り捨てを回避するには?

DDD
DDDオリジナル
2024-11-11 21:06:031038ブラウズ

How to Avoid Integer Truncation in C   Float Division?

整数除算から浮動小数点数の結果を生成する方法

C では、出力が変数に割り当てられている場合でも、整数除算によって結果が切り捨てられます。浮動小数点変数。この切り捨てを防ぐには、オペランドを明示的に浮動小数点にキャストする必要があります。

float ans = (float)a / (float)b;

このコードでは:

  • a と b は整数で、ans は浮動小数点です。
  • 式 (a / b) は整数の除算を実行し、結果は整数 (3) に切り捨てられます。
  • キャスト (float)a は a を float (10.0) に変換します。
  • キャスト (float)b は b を float (3.0) に変換します。
  • 式 ((float)a / (float)b) は浮動小数点除算を実行し、float の結果 (3.000) を生成します。 ).
  • この結果は ans.

オペランドを浮動小数点にキャストすることにより、除算の出力は浮動小数点として保持され、必要な精度が得られます。

3
3.333

以上がC Float 除算での整数の切り捨てを回避するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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