ホームページ >バックエンド開発 >C++ >整数変数を変更せずに、C で整数の除算から浮動小数点の結果を取得するにはどうすればよいでしょうか?

整数変数を変更せずに、C で整数の除算から浮動小数点の結果を取得するにはどうすればよいでしょうか?

DDD
DDDオリジナル
2024-11-19 18:47:02902ブラウズ

How do we obtain a floating-point result from integer division in C   without altering the integer variables?

整数除算の浮動小数点精度

C では、整数除算は多くの場合、結果を最も近い整数に切り捨てます。ただし、一部の演算では小数点以下の精度が必要です。整数変数を変更せずに浮動小数点の結果を取得するにはどうすればよいでしょうか?

次の C コードを考えてみましょう:

int a = 10, b = 3;
float ans = (a / b);

浮動小数点形式を設定しているにもかかわらず、a / b 式は、結果は 3.

解決策は、オペランドを型キャストすることにあります。 floats:

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

次の出力が示すように、除算の前に整数を float に変換すると、結果は浮動小数点の精度を維持します。

3.333

以上が整数変数を変更せずに、C で整数の除算から浮動小数点の結果を取得するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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