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


轉自百度經驗:https://jingyan.baidu.com/article/495ba84109665338b30ede98.html

一、進制的英文簡寫

二進制是Binary,簡寫為B
八進制是Octal,簡寫為O
十進制為Decimal,簡寫為D
十六進制為Hexadecimal,簡寫為H

 

二、二進制與十進制之間的轉換

1、十進制轉二進制(正整數)

方法為:十進制數除2取余法,即十進制數除2,余數為權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商為0為止讀數要倒敘讀。

 

 

2、十進制轉二進制(小數)

小數乘2取整法,即將小數部分乘以2,然后取整數部分,剩下的小數部分繼續乘以2,然后取整數部分,剩下的小數部分又乘以2,一直取到小數部分為零
如果永遠不能為零,就同十進制數的四舍五入一樣,按照要求保留多少位小數時,就根據后面一位是0還是1,取舍,如果是零,舍掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到后面的整數,即讀數要順序讀。

0.125 轉二進制

第一步,將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。

                    積          整數部分

0.125 x 2 = 0.25             0

0.25 x 2   = 0.5               0

0.5 x 2     = 1.0               1    

150.125 轉二進制10010110.001

 

0.45 轉二進制(保留到小數點第四位)

第一步,將0.45乘以2,得0.9,則整數部分為0,小數部分為0.9;
第二步, 將小數部分0.9乘以2,得1.8,則整數部分為1,小數部分為0.8;
第三步, 將小數部分0.8乘以2,得1.6,則整數部分為1,小數部分為0.6;
第四步, 將小數部分0.6乘以2,得1.2,則整數部分為1,小數部分為0.2; 算到這一步就可以了,因為只需要保留四位小數
第五步, 將小數部分0.2乘以2,得0.4,則整數部分為0,小數部分為0.4;
第六步, 將小數部分0.4乘以2,得0.8,則整數部分為0,小數部分為0.8;后面會一直循環重復
第七步, 將小數部分0.8乘以2,得1.6,則整數部分為1,小數部分為0.6;

。。。。。。
讀整數不分,從第一位讀起,讀到最后一位,即為0.0111。

 

3、二進制轉十進制

方法為:把二進制數按權展開、相加即得十進制數。

 

三、二進制與八進制之間的轉換

1、二進制轉八進制

方法為:2的三次方等於8,因此3位二進制數按權展開相加得到1位八進制數。(注意事項,3位二進制轉成八進制是從右到左開始轉換,不足時補0)。

2、八進制轉成二進制

方法為:八進制數通過除2取余法,得到二進制數,把每個八進制數轉換為3個二進制,不足時在最左邊補零。

 

四、二進制與十六進制之間的轉換

1、二進制轉十六進制

方法為:與二進制轉八進制方法近似,八進制是取三合一,十六進制是取四合一。(2的四次方等於16,4位二進制轉成十六進制是從右到左開始轉換,不足時補0)。

 

 

2、十六進制轉二進制

方法為:十六進制數通過除2取余法,得到二進制數,對每個十六進制數轉換為4個二進制,不足時在最左邊補零。

 

五、十進制與八進制與十六進制之間的轉換

1、十進制轉八進制或者十六進制有兩種方法

第一:間接法:把十進制轉成二進制,然后再由二進制轉成八進制或者十六進制。這里不再做圖片用法解釋。

 

 

第二:直接法:把十進制轉八進制或者十六進制按照除8或者16取余,直到商為0為止

 

2、八進制或者十六進制轉成十進制

方法為:把八進制、十六進制數按權展開、相加即得十進制數。

 

六、十六進制與八進制之間的轉換

八進制與十六進制之間的轉換有兩種方法

第一種:他們之間的轉換可以先轉成二進制然后再相互轉換。

第二種:他們之間的轉換可以先轉成十進制然后再相互轉換。

 

七、總結

1、十進制轉換成二、八、十六進制

十進制轉二進制(正整數)
正整數:十進制數除2取余法,讀數要倒敘讀。
小數:小數乘2取整法,讀數要順序讀。

十進制轉八進制
十進制數除8取余法,讀數要倒敘讀。

十進制轉十六進制
十進制數除16取余法,讀數要倒敘讀。

 

2、二、八、十六進制轉十進制

把各個進制數按權展開、相加即得十進制數。
注意:
二進制的權是     2的0、1、2、3...次冪
八進制的權是     8的0、1、2、3...次冪
十六進制的權是 16的0、1、2、3...次冪

 

3、二進制轉換成八、十六進制

二進制轉八進制
2的三次方等於8,因此3位二進制數按權展開相加得到1位八進制數,3位二進制轉成八進制是從右到左開始轉換,不足時補0。


二進制轉十六進制
2的四次方等於16,因此4位二進制數按權展開相加得到1位十六進制數,4位二進制轉成十六進制是從右到左開始轉換,不足時補0。

 

4、八、十六進制轉成二進制

八進制轉二進制
將每一位八進制數通過除2取余法,得到二進制數,對每個八進制數轉換為3個二進制,不足時在最左邊補零。


十六進制轉二進制
將每一位十六進制數通過除2取余法,得到二進制數,對每個十六進制數轉換為4個二進制,不足時在最左邊補零。

 

八、字節單位之間的換算

位(bit,縮寫為b)是存儲器的最小單位,可以表示一位二進制數。1字節(Byte,縮寫為B)由8個位組成,即1Byte=8bit,是存儲器的基本單位,通常被作為一個存儲單元。通常情況下,把B稱為字節、b稱為字位、KB稱為千字節、MB稱為兆字節、GB稱為吉字節。

 

1字位(bit)=1個二進制數

1字節(Byte)=8字位=8個二進制數

1B=8b
1KB=1024B
1MB=1024KB
1GB=1024MB

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM