雙精度浮點數
外觀
這是此頁批准,以及是最近的修訂。
雙精度浮點數(double)是電腦使用的一種資料型別。比較單精度浮點數,雙精度浮點數使用六十四位(八位元組)來儉一个浮點數。 伊會表示二進位制的五十三位有效數字,其實會當表示的數字的絕對值範圍為 $ [二 ^ { 鋪一千空二十四 } , 二 ^ { 一千空二十四 }] $。
格式
sign bit(符號): 用來表示講正負號
exponent(指數): 用來表示次方數
mantissa(尾數): 用來表示精確度
- :
符號
空代表數值為正,一代表數值為負。
指數
攏總有十一个位元,使用「偏移表示法」, 有兩个例外分別為一 .「十一个位元攏為零」 二 .「十一个位元攏為一」
並且以一千空二十三為偏移標準,表示實際指數是零,就按呢指數的範圍抹一千空二十二到 + 一千空二十三:
指數 ` 十六 ` 和 ` 七 ff 十六 ` 有特殊的意義:
` 二 `=` 十六 ` 做尾數替零時為 ± 零,尾數不為零時為非正規形式的浮點數。
` 一千一百十一孵一千一百十一孵一千一百十二 `=` 七 ff 十六 ` 做尾數替零時為 ∞,尾數不為零時為 NaN。
尾數
佇咧二進位的「科學記號」,數字被表示為:
$ $ { \ text { 一 . mantissa } } \ times { \ text { 二 } } ^ { \ text { exponent } } $ $
二進位的「科學記號」(a× 二 n)的 a 的範圍是等於一个過去,比如講:
- 二進位制的 $ { \ text { 十一孵一空一 } } \ times { \ text { 二 } } ^ { \ text { 一千空一 } } $ 會當規格化做 $ { \ text { 一孵一一空一 } } \ times { \ text { 二 } } ^ { \ text { 一千空一十 } } $,儲存時尾數只需要儲存一千一百空一即可。
- 二進位制的 $ { \ text { 空九空空一一空空一一 } } \ times { \ text { 二 } } ^ { 鋪一千空一 } $ 會當規格化做 $ { \ text { 一孵一空空一一 } } \ times { \ text { 二 } } ^ { 建一千一百 } $,儲存時尾數只需要儲存一鼻零一十一即會使。
小結
根據以上的講,一个雙精度浮點數所代表的數值為:
$ $ ( 影一 ) ^ { \ text { sign } } \ times 二 ^ { \ text { exponent } } \ times 一 . { \ text { mantissa } } $ $
例
參考文獻
參閱
- IEEE 二進位浮點數算術標準(IEEE 七仔五十四)
- 浮點數