コンピューター プログラミングでは、倍精度データ型の精度が小数点以下 15 桁であると想定されることがよくあります。ただし、1.0/7.0 などの特定の数値表現は、変数内で内部的に表現すると精度が高くなるように見えます。この記事では、これが発生する理由と、精度が小数点以下 15 桁程度と表現される理由について説明します。
IEEE double には 53 の有効ビットがあり、10 進数の 15.95 桁にほぼ等しくなります。丸めを考慮して、実装では精度 (DBL_DIG) を 15 に設定します。これにより、DBL_DIG で暗示される精度を超える精度が 10 進数でほぼ 1 桁追加されます。
double を表示する場合、コンパイラは通常、精度に基づいて値を丸めます。たとえば、1.0/7.0 を「%.17g」で表示すると、精度は 17 桁になります。ただし、「%.64g」を使用すると、予期される 15 桁の精度を超える有効数字は表示されません。
倍精度数値には、約 15.95 桁の 10 進数を許容する内部表現があります。精度のこと。ただし、四捨五入のため、表示される精度は通常、小数点以下 15 桁に設定されます。この説明は、1.0/7.0 などの特定の正確な数値が、内部的にはより高い精度を持っているように見えても、表示される際には推定 15 桁の精度に準拠している理由を明確にするのに役立ちます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3