浮動小数点エラーについて: C の例
浮動小数点エラーは、コンピューターが限られた数のビットを使用して実数を表すときに発生し、精度が低下します。損失。これを説明するために、C の例を考えてみましょう:
シナリオ:
確率 p で 10 回の独立した実験で正確に 2 回成功する確率を計算します。
コード:
double p_2x_success = pow(1-p, (double)8) * pow(p, (double)2) * (double)choose(8, 2);
浮動小数点エラーの可能性:
各演算 (べき乗、乗算、二項係数) では、丸め誤差が生じます。個々のエラーは無視できるかもしれませんが、特に大きな数値や正確な計算を扱う場合、その累積は重大になる可能性があります。
グラフィック表現:
回答で述べたように、関数 f(k) (k は成功回数) をグラフ化できます。理想的なグラフはゼロで平らな線を示し、エラーがないことを示します。ただし、浮動小数点誤差により、実際のグラフは指数関数的な曲線に似ており、k の値が大きくなるほど誤差が増加します。
軽減テクニック:
浮動小数点を最小限に抑えるにはエラーが発生した場合は、次の使用を検討してください:
浮動小数点誤差を理解し、軽減することは、特に科学、金融、工学アプリケーションで正確な計算を保証するために重要です。
以上が浮動小数点数を使用した C の計算で重大なエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。