在進行講解之前,我們先在下面放置一個對應表,因為在理解下面轉換的時候,你可以隨時查看該表。
㈠:二進制轉十進制

㈡十進制轉二進制
方法為:用2整除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為小於1時為止,然后把先得到的余數作為二進制數的低位有效位,后得到的余數作為二進制數的高位有效位,依次排列起來。具體如下圖所示:
㈢二進制轉八進制
二進制數轉換成八進制數:從小數點開始,整數部分向左、小數部分向右,每3位為一組用一位八進制數的數字表示,不足3位的要用“0”補足3位,就得到一個八進制數。
(具體用法如下圖)

㈣:八進制轉成二進制
八進制轉換成二進制數:八進制數通過除2取余法,得到二進制數,每個八進制對應三個二進制,不足時在最左邊補充零。
(具體用法如下圖)
方法為:與二進制轉八進制方法近似,八進制是取三合一,十六進制是取四合一。(注意事項,4位二進制轉成十六進制是從右到左開始轉換,不足時補0)。
(具體用法如下圖)
㈥十六進制轉二進制
十六進制轉二進制:十六進制數通過除2取余法,得到二進制數,每個十六進制對應四個二進制,不足時在最左邊補充零。
(具體用法如下圖)
(七)、十進制轉八進制或者十六進制有兩種方法
第一:間接法—把十進制轉成二進制,然后再由二進制轉成八進制或者十六進制。這里不再做圖片用法解釋。
第二:直接法—把十進制轉八進制或者十六進制按照除8或者16取余,直到商為0為止。
(八)、八進制或者十六進制轉成十進制
方法為:把八進制、十六進制數按權展開、相加即得十進制數。
十六進制與八進制之間的轉換
八進制與十六進制之間的轉換有兩種方法
第一種:他們之間的轉換可以先轉成二進制然后再相互轉換。
第二種:他們之間的轉換可以先轉成十進制然后再相互轉換。
這里就不再進行圖片用法解釋。
負數
負數的進制轉換稍微有些不同。
先把負數寫為其補碼形式(在此不議),然后再根據二進制轉換其它進制的方法進行。
例:要求把-9轉換為八進制形式。則有:
-9的補碼為1111 1111 1111 0111。從后往前三位一划,不足三位的加0111---->7
110---->6
111---->7
111---->7
111---->7
001---->1
然后我們將結果按從下往上的順序書寫就是:177767,那么177767就是十進制數-9的八進制形式。
其實轉化成任意進制都是一樣的。
初學者最容易犯的錯誤!!!!!!!
犯錯:(-617)D=(-1151)O=(-269)H
原因分析:如果是正數的話,上面的思路是正確的,但是由於正數和負數在原碼、反碼、補碼轉換上的差別,所以按照正數的求解思路去對負數進行求解是不對的。
正確的方法是:首先將-617用補碼表示出來,然后再轉換成八進制和十六進制(補碼)即可。
注:二進制補碼要用16位。
正確答案::(-617)D=(176627)O=(fd97)H
負數十進制轉換成八進制或十六進制方法
如(-12)10=( )8=( )16
第一步:轉換成二進制
1000 0000 0000 1100
第二步:補碼,取反加一
注意:取反時符號位不變!
1111 1111 1111 0100
第三步:轉換成八進制是三位一結合:177764(8)轉換成十六進制是四位一結合:fff4(16)
小數
最近有些朋友提了這樣的問題“0.8的十六進制是多少?”
0.8、0.6、0.2… …一些數字在進制之間的轉化過程中確實存在麻煩。
就比如“0.8的十六進制”吧!
無論怎么乘以16,它的余數總也乘不盡,總是余0.8具體方法如下:
0.8*16=12.8
0.8*16=12.8
取每一個結果的整數部分為12既十六進制的C
如果題中要求精確到小數點后3位那結果就是0.CCC
如果題中要求精確到小數點后4位那結果就是0.CCCC現在OK了。