【數據轉換】進制轉換匯總
一、浮點數與二進制轉換

(1)十進制浮點數到二進制浮點數的轉換
1、十進制到二進制: 整數部分用2來除,小數部分用2來乘
2、規格化二進制數: 改變小數點,使小數點前只有第一位有效數字
3、計算指數的移碼:原來的指數加上2^{e-1}-1
4、把符號位,指數的移碼,尾數合在一起 (尾數不夠補0)
例:100.25
100 => 110 0100
0.25 => 0.25*2=0.5 >> 0
0.5*2=1.0 >> 1 // 得到1.0, 停止
故100.25 => 110 0100.01
規格化二進制數=>1100100.01 =1.10010001*2^6
指數的移碼 = 6+127=133 => 1000 0101
拼接:
0 10000101 10010001000000000000000
符號 指數 尾數
(1)二進制浮點數到十進制浮點數的轉換
1、分割符號位, 指數移碼, 尾數
2、將移碼減去偏移2^{e-1}-1, 得到真正的指數
3、寫成規格化的二進制浮點數
4、寫成非規格化的二進制浮點數形式
5、把二進制數轉換成十進制數
例:1 10001000 10011111110000000000000
指數=> 136-127=9
10011111110000000000000 => 1001111111
拼接=>(-1)*2^9*1.1001111111 =>(-1)*1100111111.1 =>-831+1*2^(-1)=-831.5
/*******相與枕藉乎舟中,不知東方之既白*******/

浙公網安備 33010602011771號