IEEE754標準,從源頭講起

2021-10-07 05:05:00 字數 944 閱讀 3352

在學習計組的過程中,經常忘記一些細節。比如「符號位」、「規格化」等等概念。

這幾天發覺,如果能夠從這些東西的背景去考慮問題的話,可能就不會有這麼多的遺忘了。

浮點數的規格化
浮點數的階碼一般使用移碼來表示,並不牽扯到規格化。

規格化特指尾數的規格化。尾數可能是補碼或者原碼。

當尾數m是原碼,只要滿足1/2<=|m|<1即可。

當尾數m是補碼,當m是正數,範圍同原碼;當m是負數,範圍成為-1=float/double

數符階碼

尾數1bit

8bit /11bit

23bit/52bit

階碼:ieee754階碼的偏移量為2(n-1)-1;這樣的話正數比負數能夠多表示乙個數。如果是8位機器的話 ,移碼的範圍就是-127~128;

尾數:規格化的尾數預設為1.***x…因此不表示小數點前面的1,因此float型別尾數可以表示的精度是24位;

在我上課的時候,有同學問,既然前面預設有乙個1,那0怎麼表示?老師果斷稱讚這是乙個好問題,接著回答了

階碼的全0和全1並不會出現,它們作為特殊標記來存在,這種特殊標記出現時,尾數前面沒有預設的1

當階碼和尾數都為0時,根據數符的0/1表示+/-;

當階碼全為0,尾數非零時,表示非規格化數,階碼預設最小為-126;

當階碼全為1,尾數全為0,根據數符的0/1表示+∞/-∞;

當階碼全為1,尾數非零時,表示非數nans。

其他情況,就是規格化的數啦~~~

//這裡的移碼和補碼的轉化和前面的不同,因為偏移量比前面少了乙個1,

//因此在補碼符號位取反的基礎上需要再減一;

//或者直接通過偏移量來計算;

IEEE 754格式標準,float,

float float型別數字在計算機中用4個位元組儲存。遵循ieee 754格式標準 乙個浮點數有2部分組成 底數m和指數e 底數部分 使用二進位制數來表示此浮點數的實際值 指數部分 占用8bit的二進位制數,可表示數值範圍為0 255 但是指數可正可負,所以,ieee規定,此處算出的次方必須減去...

IEEE754標準浮點數的轉換

對於乙個十進位制的的數字,當我們需要轉化為浮點數時需要按照一定的規則,而ieee754是現在應用比較廣泛的一種標準,下面是關於該標準的一些轉化規則。浮點數表示的格式 單精度 總位數 32位 符號位 1 階碼位即指數字 8 尾數字 23 指數偏移量 127 雙精度 總位數 64位 符號位 1 階碼位即...

計算機組成原理 IEEE754標準

小數點的位置可以在一定範圍內移動,能擴大表數範圍。任一r進製數都能寫成 n 1 s re m 特別的,在計算機中浮點數的表示格式為 x 1 s 2e m 在這裡e指小數點的位置,m表示數的精度 計算機中規定用ieee754標準將浮點數規格化 當浮點數尾數非0時,最高有效位必須為1 譬如說 a 24 ...