在電腦程式設計中,雙精確度資料類型通常被假定為具有 15 位小數的近似精度。但是,某些數字表示形式(例如 1.0/7.0)在變數內部表示時似乎具有更高的精確度。本文將探討為什麼會發生這種情況,以及為什麼精確度通常被描述為小數點後 15 位左右。
IEEE 雙精度數有 53 個有效位,約等於 15.95 個小數位。為了考慮舍入,實現將精度 (DBL_DIG) 設定為 15。這幾乎提供了超出 DBL_DIG 所暗示的精度的額外十進制數字。
顯示雙精確度時,編譯器通常會根據精確度對值進行捨入。例如,1.0/7.0,當顯示為“%.17g”時,具有 17 位元精度。但是,如果使用“%.64g”,則不會出現超出預期 15 位元精度的有效數字。
雙精度數字具有允許大約 15.95 位十進制數字的內部表示形式的精度。然而,由於四捨五入的原因,顯示精度通常設定為小數點後 15 位。此解釋有助於闡明為什麼某些精確數字(例如 1.0/7.0)在內部似乎具有更高的精度,但在顯示時仍符合估計的 15 位元精度。
以上是為什麼雙精確度的小數位數比宣傳的 15 位多?的詳細內容。更多資訊請關注PHP中文網其他相關文章!