解釋計算機體系結構中的IEEE 754浮點數?


IEEE 制定了 IEEE 754 浮點數標準。該標準定義了一組格式和操作模式。所有符合此標準的計算機都將始終為相同的計算計算出相同的結果。此標準未指定用於執行計算的算術程式和硬體。例如,CPU 無論是使用移位加法硬體還是 Wallace 樹來相乘兩個有效數字,都可以滿足該標準。

IEEE 754 標準指定了浮點數的兩種精度。單精度數有 32 位——1 位用於符號位,8 位用於指數,23 位用於尾數。尾數還包括在其基數點左側隱含的 1。

表 (a) 顯示了 +19.5 (=10011.1 或 1.00111 x 24 為二進位制) 在單精度格式中的表示。前導 1 不包含在尾數中,其存在在此標準中是隱含的。由於增加了 127 的偏差,指數 4 表示為 1000 0011 或 131。

雙精度數使用 64 位——1 位用於符號位,11 位用於指數,52 位用於尾數。與單精度一樣,尾數對於大多數值都具有隱含的前導 1。指數的偏差為 1023,取值範圍為 -1022 到 +1023。最小和最大指數值 -1023 和 +1024 保留用於特殊數字。表 (b) 顯示了 +19.5 在雙精度格式中的表示。對於此值,指數儲存為 4 + 偏差,或 4 + 1023 = 1027。

IEEE 754 標準格式中的單精度 (a) 和雙精度 (b) 表示

符號尾數指數
+19.50001 1100 0000 0000 0000 00001000 0011
00000 0000 0000 0000 0000 00000000 0000
±∞0 或 1000 0000 0000 0000 0000 00001111 1111
NaN0 或 1任何非零值1111 1111
非規格化數0 或 1任何非零值0000 0000

(a)

符號尾數指數
+19.500011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
100 0000 0011
000000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
000 0000 0000
±∞0 或 10000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
111 1111 1111
NaN0 或 1任何非零值111 1111 1111
非規格化數0 或 1任何非零值000 0000 0000

零、±∞ 和 NaN 在單精度和雙精度格式中都有預定義的表示。值為 0 的尾數等於 0,且指數的所有位都設定為 0。無窮大尾數也等於 0,但其指數的每一位都設定為 1。符號位表示該值為 ±∞ 或 −∞。所有位均為 1 的指數和任何非零尾數表示 NaN 值。

IEEE 754 標準要求舍入到最近的數是預設舍入方法,並且其他舍入方法可供使用者選擇。因此,如果將兩個符合 IEEE 754 規範的處理器設定為使用不同的舍入方法,則它們可能會對相同的計算產生略微不同的結果。

更新於:2021年7月27日

11K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告