現代計算機中,一般都以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個位出來存儲小數,提高精度