コンピューター プログラミングでは、倍精度データ型の精度が小数点以下 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 サイトの他の関連記事を参照してください。