計算機2進制小數點表示法


現代計算機中,一般都以IEEE 754標准存儲浮點數

 對於不同長度的浮點數,階碼與小數位分配的數量不一樣

對於32位的單精度浮點數,數符分配是1位,階碼分配了8位,尾數分配了是23位。

例如:178.125

(1)先把浮點數分別把整數部分和小數部分轉換成2進制

整數部分用除2取余的方法,求得:10110010

小數部分用乘2取整的方法,求得:001

合起來即是:10110010.001

(2)轉換成二進制的浮點數,即把小數點移動到整數位只有1,即為:1.0110010001 * 2^111,111是二進制,由於左移了7位,所以是111

把浮點數轉換二進制后,這里基本已經可以得出對應3部分的值了

(3)數符:由於浮點數是正數,故為0.(負數為1)

階碼 : 階碼的計算公式:階數 + 偏移量,  階碼是需要作移碼運算,在轉換出來的二進制數里,階數是111(十進制為7),對於單精度的浮點數,偏移值為01111111(127)[偏移量的計算是:2^(e-1)-1, e為階碼的位數,即為8,因此偏移值是127],即:111+01111111 = 10000110

尾數:小數點后面的數,即0110010001

小數點前面的1去哪里了?由於尾數部分是規格化表示的,最高位總是“1”,所以這是直接隱藏掉,同時也節省了1個位出來存儲小數,提高精度


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM