跳至內容

雙精度浮點數

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

雙精度浮點數(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 七仔五十四)
  • 浮點數