正確な除算のために整数を浮動小数点数にキャストする
C では、 a/b などで 2 つの整数を除算すると、整数商が求められます。 。 float の結果を取得するには、オペランドを float にキャストする必要があります。
問題ステートメント:
除算演算で整数オペランドを使用すると、結果は次のように切り捨てられます。整数。これを防ぎ、数値の整合性を維持するにはどうすればよいでしょうか?
解決策:
この問題を解決して浮動小数点数の結果を保証するには、オペランドを浮動小数点数にキャストします。
float ans = (float)a / (float)b;
オペランドを明示的に浮動小数点に変換することにより、除算演算は浮動小数点の結果を生成します。小数精度を保持します。
例:
次のコードを考えます:
#include <iostream> #include <iomanip> using namespace std; int main() { int a = 10, b = 3; float ans = (float)a / (float)b; cout << fixed << setprecision(3); cout << (a/b) << endl; cout << ans << endl; return 0; }
出力:
3 3.333
上で見たように、キャストにより浮動小数点の結果が保証され、正しい小数が保持されます。精度。
以上がCで整数の除算から浮動小数点の結果を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。