IEEE754中真正的指數值e範圍為什麼是 126 127?

時間 2021-06-06 20:07:21

1樓:Ehco

在IEEE754標準中進行了單精度浮點數(float)和雙精度數浮點數(double)的定義。float有32bit,double有64bit。它們的構成包括符號位、指數字和尾數字。

這些位的構成如下:

種類——-符號位————-指數字—————-尾數字—-

float——第31位(佔1bit)—-第30-23位(佔8bit)—-第22-0位(佔23bit)

double—第63位(佔1bit)—-第62-52位(佔11bit)—第51-0位(佔52bit)

單精度實型變數和雙精度實型變數的根本區別在於所儲存資料的記憶體空間大小不同。

取值範圍主要看指數部分:

float的指數部分有8bit(2^8),由於是有符號型,所以得到對應的指數範圍-126~127。

double的指數部分有11bit(2^11),由於是有符號型,所以得到對應的指數範圍-1023~1022。

由於float的指數部分對應的指數範圍為-126~127,所以取值範圍為:

-2^-126到2^127,約等於-3.4E38 — +3.4E38

2樓:蕭涵

32位單精度

單精度浮點數,使用32位儲存。

|1|8|23| 位長

|S| Exp | Fraction |

|31| 30... 23|22...0| 位編號 (從右邊開始為0)

偏正值 +127

64位雙精度

雙精度按浮點數,使用64位儲存。

|1|11|52| 位長

|S| Exp | Fraction |

|63| 62 52| 51 0| 位編號 (從右邊開始為0)偏正值 +1023

可以知道,單精度浮點數的指數是用8位二進位制表示的,8位二進位制表示範圍0~255,用移碼表示,偏移127,0和255有特殊用處,故有效範圍是(1~254),所以實際範圍就是-126~+127。

同理可以知道雙精度浮點數的指數範圍-1022~+1023。

IEEE 754-1985 - Wikipedia

IEEE 754格式是什麼

Binary life 之前詳細的寫了一篇文章 本文試圖深入淺出的講明白浮點數標準IEEE 754,並分析其精妙的設計原理。通過舉例說明 回答為什麼,帶你漸進的了解浮點數的知識。 計算機再進行數的表達時,沒有直接對正負 小數點的表達方式,人類設計了多種計數編碼方式的,但最著名 應用最廣泛的便是IEE...

32位ieee 754的階碼偏移量為何用127 而不是128

袁老師說,全0和全1有特殊用途,所以規格化階碼的表示範圍是0000 0001 1111 1110 1 254 如果偏置是128,則階碼最大是126 254 128 偏置是126,階碼最大是127,這樣表示的範圍就更大些了。可是,我想那偏置是125豈不是表示範圍更大些?難道是說寧願犧牲精度也要增大表示...

佛教中的中陰具體指的什麼?

佛教輪迴示意 生有 本有 死有 中有 生有所謂中有沒啥神秘,其實只是 死時的一剎那 死有 到 生時的一剎那 生有 這中間的生命狀態。有些論師基於某些原因 像什麼死時位置和投生物件分隔太遠,無法即時投生 認為死後不會直接投生,要有一段緩衝期,才能完滿解釋投生這回事,所以提出 中有 這概念。有些論師則是...