二進制、八進制、十進制、十六進制之間轉換

1、 十進制與二進制之間的轉換 
(1) 十進制轉換爲二進制,分爲整數部分和小數部分 
① 整數部分 
方法:除2取餘法,即每次將整數部分除以2,餘數爲該位權上的數,而商繼續除以2,餘數又爲上一個位權上的數,這個步驟一直持續下去,直到商爲0爲止,最後讀數時候,從最後一個餘數讀起,一直到最前面的一個餘數。下面舉例: 
例:將十進制的168轉換爲二進制 

得出結果 將十進制的168轉換爲二進制,(10101000)2 
分析:第一步,將168除以2,商84,餘數爲0。 
第二步,將商84除以2,商42餘數爲0。 
第三步,將商42除以2,商21餘數爲0。 
第四步,將商21除以2,商10餘數爲1。 
第五步,將商10除以2,商5餘數爲0。 
第六步,將商5除以2,商2餘數爲1。 
第七步,將商2除以2,商1餘數爲0。 
第八步,將商1除以2,商0餘數爲1。 
第九步,讀數,由於最後一位是通過屢次除以2才獲得的,所以它是最高位,讀數字從最後的餘數向前讀,即10101000 

(2) 小數部分 
方法:乘2取整法,即將小數部分乘以2,而後取整數部分,剩下的小數部分繼續乘以2,而後取整數部分,剩下的小數部分又乘以2,一直取到小數部分 
爲零爲止。若是永遠不能爲零,就同十進制數的四捨五入同樣,按照要求保留多少位小數時,就根據後面一位是0仍是1,取捨,若是是零,舍掉,若是是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數,下面舉例: 
例1:將0.125換算爲二進制 

得出結果:將0.125換算爲二進制(0.001)2 
分析:第一步,將0.125乘以2,得0.25,則整數部分爲0,小數部分爲0.25; 
第二步, 將小數部分0.25乘以2,得0.5,則整數部分爲0,小數部分爲0.5; 
第三步, 將小數部分0.5乘以2,得1.0,則整數部分爲1,小數部分爲0.0; 
第四步,讀數,從第一位讀起,讀到最後一位,即爲0.001。 


例2,將0.45轉換爲二進制(保留到小數點第四位) 


你們從上面步驟能夠看出,當第五次作乘法時候,獲得的結果是0.4,那麼小數部分繼續乘以2,得0.8,0.8又乘以2的,到1.6這樣一直乘下去,最後不可能獲得小數部分爲零,所以,這個時候只好學習十進制的方法進行四捨五入了,可是二進制只有0和1兩個,因而就出現0舍1入。這個也是計算機在轉換中會產生偏差,可是因爲保留位數不少,精度很高,因此能夠忽略不計。 
那麼,咱們能夠得出結果將0.45轉換爲二進制約等於0.0111 
上面介紹的方法是十進制轉換爲爲二進制的方法,須要你們注意的是: 
1) 十進制轉換爲二進制,須要分紅整數和小數兩個部分分別轉換 
2) 當轉換整數時,用的除2取餘法,而轉換小數時候,用的是乘2取整法 
3) 注意他們的讀數方向 
所以,咱們從上面的方法,咱們能夠得出十進制數168.125轉換爲二進制爲10101000.001,或者十進制數轉換爲二進制數約等於10101000.0111。 

(3) 二進制轉換爲十進制 不分整數和小數部分 
方法:按權相加法,即將二進制每位上的數乘以權,而後相加之和便是十進制數。例 
將二進制數101.101轉換爲十進制數。 

得出結果:(101.101)2=(5.625)10 
你們在作二進制轉換成十進制須要注意的是 
1) 要知道二進制每位的權值 
2) 要能求出每位的值 


2、 二進制與八進制之間的轉換 
首先,咱們須要瞭解一個數學關係,即23=8,24=16,而八進制和十六進制是用這 
關係衍生而來的,即用三位二進制表示一位八進制,用四位二進制表示一位十六進制數。 
接着,記住4個數字八、四、二、1(23=八、22=四、21=二、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(即四、二、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,不然將產生錯誤 

3、 二進制與十六進制的轉換 
方法:與二進制與八進制轉換類似,只不過是一位(十六)與四位(二進制)的轉換,下面具體講解 
(1) 二進制轉換爲十六進制 
方法:取四合一法,即從二進制的小數點爲分界點,向左(向右)每四位取成一位,接着將這四位二進制按權相加,獲得的數就是一位十六位二進制數,而後,按順序進行排列,小數點的位置不變,獲得的數字就是咱們所求的十六進制數。若是向左(向右)取四位後,取到最高(最低)位時候,若是沒法湊足四位,能夠在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足四位。 
①例:將二進制11101001.1011轉換爲十六進制 

獲得結果:將二進制11101001.1011轉換爲十六進制爲E9.B 


② 例:將101011.101轉換爲十六進制 

所以獲得結果:將二進制101011.101轉換爲十六進制爲2B.A 



(2)將十六進制轉換爲二進制 
方法:取一分四法,即將一位十六進制數分解成四位二進制數,用四位二進制按權相加去湊這位十六進制數,小數點位置照舊。 
①將十六進制6E.2轉換爲二進制數 

所以獲得結果:將十六進制6E.2轉換爲二進制爲01101110.0010即110110.001 

4、八進制與十六進制的轉換 
方法:通常不能互相直接轉換,通常是將八進制(或十六進制)轉換爲二進制,而後再將二進制轉換爲十六進制(或八進制),小數點位置不變。那麼相應的轉換請參照上面二進制與八進制的轉換和二進制與十六進制的轉 


5、八進制與十進制的轉換 
(1)八進制轉換爲十進制 
方法:按權相加法,即將八進制每位上的數乘以位權,而後相加之和便是十進制數。 
例:①將八進制數67.35轉換爲十進制 

(2)十進制轉換爲八進制 
十進制轉換成八進制有兩種方法: 
1)間接法:先將十進制轉換成二進制,而後將二進制又轉換成八進制 
2)直接法:前面咱們講過,八進制是由二進制衍生而來的,所以咱們能夠採用與十進制轉換爲二進制相相似的方法,仍是整數部分的轉換和小數部分的轉換,下面來具體講解一下: 
①整數部分 
方法:除8取餘法,即每次將整數部分除以8,餘數爲該位權上的數,而商繼續除以8,餘數又爲上一個位權上的數,這個步驟一直持續下去,直到商爲0爲止,最後讀數時候,從最後一個餘數起,一直到最前面的一個餘數。 
②小數部分 
方法:乘8取整法,即將小數部分乘以8,而後取整數部分,剩下的小數部分繼續乘以8,而後取整數部分,剩下的小數部分又乘以8,一直取到小數部分爲零爲止。若是永遠不能爲零,就同十進制數的四捨五入同樣,暫取個名字叫3舍4入。 
例:將十進制數796.703125轉換爲八進制數 
解:先將這個數字分爲整數部分796和小數部分0.703125 
整數部分 

小數部分 

所以,獲得結果十進制796.703125轉換八進制爲1434.55 
上面的方法你們能夠驗證一下,你能夠先將十進制轉換,而後在轉換爲八進制,這樣看獲得的結果是否同樣 

6、十六進制與十進制的轉換 
十六進制與八進制有不少類似之處,你們能夠參照上面八進制與十進制的轉換本身試試這兩個進制之間的轉換。 
經過上面對各類進制之間的轉換,咱們能夠將前面的轉換圖從新完善一下: 


本文介紹了二進制、十進制、八進制、十六進制四種進制之間相互的轉換,你們在轉換的時候要注意轉換的方法,以及步驟,特別是十進制轉換爲期於三種進制之間,要分爲整數部分和小數部分,最後就是小數點的位置。可是要保證考試中不出現錯誤仍是須要你們常常練習,這樣才能熟能生巧。學習

相關文章
相關標籤/搜索