ホームページ > バックエンド開発 > C++ > Double Precision には、宣伝されている 15 桁よりも小数点以下の桁数が多いように見えるのはなぜですか?

Double Precision には、宣伝されている 15 桁よりも小数点以下の桁数が多いように見えるのはなぜですか?

Patricia Arquette
リリース: 2024-12-06 20:40:18
オリジナル
572 人が閲覧しました

Why Does Double Precision Appear to Have More Decimal Places Than Its Advertised 15?

倍精度と小数点以下の桁精度

コンピューター プログラミングでは、倍精度データ型の精度が小数点以下 15 桁であると想定されることがよくあります。ただし、1.0/7.0 などの特定の数値表現は、変数内で内部的に表現すると精度が高くなるように見えます。この記事では、これが発生する理由と、精度が小数点以下 15 桁程度と表現される理由について説明します。

内部表現

IEEE double には 53 の有効ビットがあり、10 進数の 15.95 桁にほぼ等しくなります。丸めを考慮して、実装では精度 (DBL_DIG) を 15 に設定します。これにより、DBL_DIG で暗示される精度をほぼ超える 10 進数の桁が追加されます。

出力精度

double を表示する場合、コンパイラは通常、精度に基づいて値を丸めます。たとえば、1.0/7.0 を「%.17g」で表示すると、精度は 17 桁になります。ただし、「%.64g」を使用した場合、予期される 15 桁の精度を超える有効数字は表示されません。

結論

倍精度数値には、約 15.95 桁の 10 進数を許容する内部表現があります。精度のこと。ただし、四捨五入のため、表示される精度は通常、小数点以下 15 桁に設定されます。この説明は、1.0/7.0 などの特定の正確な数値が、内部的にはより高い精度を持っているように見えても、表示される際には推定 15 桁の精度に準拠している理由を明確にするのに役立ちます。

以上がDouble Precision には、宣伝されている 15 桁よりも小数点以下の桁数が多いように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート