1. 程式人生 > >二進位制,八進位制,十進位制,小六進位制之間的轉換

二進位制,八進位制,十進位制,小六進位制之間的轉換

首先,我們需要了解一個數學關係,即23=8,24=16,而八進位制和十六進位制是用這 
關係衍生而來的,即用三位二進位制表示一位八進位制,用四位二進位制表示一位十六進位制數。 
接著,記住4個數字8、4、2、1(23=8、22=4、21=2、20=1)。現在我們來練習二進位制與八進位制之間的轉換。 
(1) 二進位制轉換為八進位制 
方法:取三合一法,即從二進位制的小數點為分界點,向左(向右)每三位取成一位,接著將這三位二進位制按權相加,得到的數就是一位八位二進位制數,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的八進位制數。如果向左(向右)取三位後,取到最高(最低)位時候,如果無法湊足三位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足三位。例 

①將二進位制數101110.101轉換為八進位制 

得到結果:將101110.101轉換為八進位制為56.5 

② 將二進位制數1101.1轉換為八進位制 

得到結果:將1101.1轉換為八進位制為15.4 

(2) 將八進位制轉換為二進位制 
方法:取一分三法,即將一位八進位制數分解成三位二進位制數,用三位二進位制按權相加去湊這位八進位制數,小數點位置照舊。例: 
① 將八進位制數67.54轉換為二進位制 

因此,將八進位制數67.54轉換為二進位制數為110111.101100,即110111.1011 
大家從上面這道題可以看出,計算八進位制轉換為二進位制 
首先,將八進位制按照從左到右,每位展開為三位,小數點位置不變 
然後,按每位展開為22,21,20(即4、2、1)三位去做湊數,即a×22+ b×21 +c×20=該位上的數(a=1或者a=0,b=1或者b=0,c=1或者c=0),將abc排列就是該位的二進位制數 

接著,將每位上轉換成二進位制數按順序排列 
最後,就得到了八進位制轉換成二進位制的數字。 
以上的方法就是二進位制與八進位制的互換,大家在做題的時候需要注意的是 
1) 他們之間的互換是以一位與三位轉換,這個有別於二進位制與十進位制轉換 
2) 大家在做添0和去0的時候要注意,是在小數點最左邊或者小數點的最右邊(即整數的最高位和小數的最低位)才能添0或者去0,否則將產生錯誤