二進制,八進制,十進制和十六進制之間的互相轉換【超詳細】!

在進行講解以前,咱們先在下面放置一個對應表,由於在理解下面轉換的時候,你能夠隨時查看該表。spa

 

㈠:二進制轉十進制

⑴二進制轉十進制的第一個方法是要從右到左用二進制的每一個數去乘以2的相應次方,小數點後則是從左往右
 

 

 

2的0次方是1(任何數的0次方都是1,0的0次方無心義)
2的1次方是2
2的2次方是4
2的3次方是8
2的4次方是16
2的5次方是32
2的6次方是64
2的7次方是128
2的8次方是256
2的9次方是512
2的10次方是1024

 

㈡十進制轉二進制3d

方法爲:用2整除十進制整數,能夠獲得一個商和餘數;再用2去除商,又會獲得一個商和餘數,如此進行,直到商爲小於1時爲止,而後把先獲得的餘數做爲二進制數的低位有效位,後獲得的餘數做爲二進制數的高位有效位,依次排列起來。具體以下圖所示:blog

 

 

㈢二進制轉八進制

二進制數轉換成八進制數:從小數點開始,整數部分向左、小數部分向右,每3位爲一組用一位八進制數的數字表示,不足3位的要用「0」補足3位,就獲得一個八進制數。圖片

(具體用法以下圖)it

 

 

㈣:八進制轉成二進制io

八進制轉換成二進制數:八進制數經過除2取餘法,獲得二進制數,每一個八進制對應三個二進制,不足時在最左邊補充零class

(具體用法以下圖)二進制

 
㈤二進制轉十六進制

方法爲:與二進制轉八進制方法近似,八進制是取三合一,十六進制是取四合一。(注意事項,4位二進制轉成十六進制是從右到左開始轉換,不足時補0)。方法

(具體用法以下圖)im

 

㈥十六進制轉二進制

十六進制轉二進制:十六進制數經過除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.八、0.六、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了。

相關文章
相關標籤/搜索