1. 程式人生 > >小數進位制轉換

小數進位制轉換

1.

十進位制小數→二進位制小數 方法:“乘2取整”

對十進位制小數乘2得到的整數部分和小數部分,整數部分既是相應的二進位制數碼,再用2乘小數部分(之前乘後得到新的小數部分),又得到整數和小數部分.

如此不斷重複,直到小數部分為0或達到精度要求為止.第一次所得到為最高位,最後一次得到為最低位
如:0.25的二進位制
0.25*2=0.5  取整是0
0.5*2=1.0    取整是1
即0.25的二進位制為 0.01 ( 第一次所得到為最高位,最後一次得到為最低位)
0.8125的二進位制
0.8125*2=1.625   取整是1
0.625*2=1.25     取整是1
0.25*2=0.5       取整是0
0.5*2=1.0        取整是1
即0.8125的二進位制是0.1101(第一次所得到為最高位,最後一次得到為最低位)

 2.

十進位制小數→八進位制小數 方法:“乘8取整” 

0.71875)10 =(0.56)8
 0.71875*8=5.75  取整5
0.75*8=6.0      取整6
即0.56

3.

十進位制小數→十六進位制小數方法:“乘16取整”例如: 

(0.142578125)10=(0.248)16
 0.142578125*16=2.28125  取整2
0.28125*16=4.5          取整4
0.5*16=8.0              取整8

即0.248非十進位制數之間的轉換 

4.(1)二進位制數與八進位制數之間的轉換 
轉換方法是:以小數點為界,分別向左右每三位二進位制數合成一位八進位制數,或每一位八進位制數展成三位二進位制數,不足三位者補0。例如: 
(423.45)8=(100 010 011.100 101)2 
(1001001.1101)2=(001 001 001.110 100)2=(111.64)8 
(2)二進位制與十六進位制轉換 
轉換方法:以小數點為界,分別向左右每四位二進位制合成一位十六進位制數,或每一位十六進位制數展成四位二進位制數,不足四位者補0。例如: 
(ABCD.EF)16=(1010 1011 1100 1101.1110 1111)2 
(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B.68)16