1) 二進位制轉換十進位制(不分整數和小數)
方法:按權相加法,即將二進位制每位上的數乘以權,然後相加之和即是十進位制數。例
將二進位制數101.101轉換為十進位制數。
結果:(101.101)2=(5.625)10
注意:要知道二進位制的權值
要能求出每位的值
2) 十進位制轉換二進位制
整數:
方法:除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,一直取到小數部分
為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,捨掉,如果是1,向入一位。換句話說就是0舍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。
二進位制與八進位制之間的轉換
首先,我們需要了解乙個數學關係,即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,否則將產生錯誤
二進位制與十六進製制的轉換
方法:與二進位制與八進位制轉換相似,只不過是一位(十六)與四位(二進位制)的轉換,下面具體講解
1) 二進位制轉換為十六進製制
方法:方法:取四合一法,即從二進位制的小數點為分界點,向左(向右)每四位取成一位,接著將這四位二進位制按權相加,得到的數就是一位十六位二進位制數,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的十六進製制數。如果向左(向右)取四位後,取到最高(最低)位時候,如果無法湊足四位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足四位。
①例:將二進位制11101001.1011轉換為十六進製制
得到結果:將二進位制11101001.1011轉換為十六進製制為e9.b
② 例:將101011.101轉換為十六進製制
因此得到結果:將二進位制101011.101轉換為十六進製制為2b.a
(2)將十六進製制轉換為二進位制
方法:取一分四法,即將一位十六進製制數分解成四位二進位制數,用四位二進位制按權相加去湊這位十六進製制數,小數點位置照舊。
①將十六進製制6e.2轉換為二進位制數
因此得到結果:將十六進製制6e.2轉換為二進位制為01101110.0010即110110.001
四、八進位制與十六進製制的轉換
方法:一般不能互相直接轉換,一般是將八進位制(或十六進製制)轉換為二進位制,然後再將二進位制轉換為十六進製制(或八進位制),小數點位置不變。那麼相應的轉換請參照上面二進位制與八進位制的轉換和二進位制與十六進製制的轉
五、八進位制與十進位制的轉換
(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
上面的方法大家可以驗證一下,你可以先將十進位制轉換,然後再轉換為八進位制
進製之間的轉換
今天翻了一本計算機基礎的書籍,其中十進位制 二進位制 八進位制 十六進製制之間的轉換挺有意思的,也容易犯糊塗,特溫故而知新。十進位制數制系統 十進位制數制系統包括 10 個數字 0 1 2 3 4 5 6 7 8 9 基為 10 逢十進一,如3 7 10,20 80 100 二進位制數制系統 計算機...
進製之間的轉換
作為程式設計人員,我們常用的進製型別為 2 進製 8 進製 10 進製以及 16 進製了,他們的表示方法為 2進製為 0b001101 也就是二進位制數前加上 0b 8進製為 067 進製數前加上 0 10進製就不需多說了,什麼也不加就行,而16進製制前需要加上 0x 如 0x78af 他們的區別在...
進製之間的轉換
十進位制數制系統 十進位制數制系統包括 10 個數字 0 1 2 3 4 5 6 7 8 9 基為 10 逢十進一,如3 7 10,20 80 100 二進位制數制系統 計算機中使用二進位制表示資料 二進位制包括兩個符號 0和1 二進位制逢二進一 1 1 2 10 2 二進位制的基為2 示例 100...