歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 軟考必備1——二進制、十進制、十六進制和八進制之間的轉換

軟考必備1——二進制、十進制、十六進制和八進制之間的轉換

日期:2017/3/1 10:20:23   编辑:Linux編程
1、十進制轉二進制

十進制轉二進制需要整數部分和小數部分分別轉換,整數除以2,商繼續除以2,得到0為止,最後將余數逆序排列即可。

小數部分則是乘以2,取整,小數部分繼續乘以2,取整,得到小數部分0為止,將整數進行順序排列即可。

例如:十進制數22.8125轉換為二進制是多少?

22/2 11 余 0

11/2 5 余 0

5/2 2 余 1

2/2 1 余 0

1/2 0 余 1

所以二進制是:10110

0.8125x2= 1.625 1.625 取整1,小數部分是0.625
0.625x2 = 1.25 1.25 取整1,小數部分是0.25
0.25x2 = 0.5 0.5 取整0,小數部分是0.5
0.5x2= 1.0 1.0取整1,小數部分是0,結束

所以0.8125的二進制是:0.1101

故:十進制22.8125的二進制為10110.1101

2、二進制轉十進制

由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。感覺不好理解,其實很簡單,就是多了幾個名詞而已。

二進制轉十進制我們可以相對十進制轉二進制的情況反過來理解就可以,從右到左用二進制的每個數去乘以2的相應次方(記得次方從0開始),然後將所有結果相加即可獲得最終想要的結果。

例如:二進制的1101轉化成十進制是多少?

1011(2) = 1 * 20 + 0 * 21 + 1 * 22 + 1 * 23 = 1 + 0 + 4 + 8 = 13

故:1101轉換為十進制為 13

一些簡單2的次方的還是需要掌握的,不用特意去記,用的時候查查,用幾次自然就都記住了:

2的0次方是1

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

  2的11次方是2048

3、二進制和十六進制轉換

十六進制和二進制之間的轉換很簡單,十六進制轉二進制就是把十六進制的每一位當做二進制的四位來處理,不足四位的前面加零補齊。二��制轉十六進制反之,就是把二進制的四位當做十六進制的一位來處理。請看例子:

1)、十六進制數0209FE83轉換二進制為 1000001001111111101000

0 0000

2 0010

0 0000

9 1001

F 1111

E 1110

8 1000

3 0011

其中ABCDE對應十進制中的10,11,12,13,14,15

2)、二進制數11010111100010111轉換為十六進制數

 

二進制數 11 1010 1111 0001 0111

十六進制數 3 A F 1 7

結果為 (11010111100010111)2 = (3AF17)16

4、二進制和八進制轉換

二進制和八進制之間的轉換和十六進制與二進制之間的轉換類似,只是少了一位而已,八進制的一位對應二進制的三位,還是不夠的在整數部分前面用零補齊,有了對比就變得簡單多了,下面看例子:

二進制1101100轉換為八進制為154

二進制數 001 101 100

八進制數 1 5 4

從上面的列舉來看,二進制才是最重要的,它是計算技術中廣泛采用的一種數制,十進制、十六進制、八進制以及二進制之間的轉換,我們可以以二進制作為中間的橋梁,這樣其它幾個進制之間的轉換通過二進制作為中間鍵也就都變的容易了。當然這些都是基本的原理,我們知道了就可以了,現在的計算器可以很容易的幫我們完成這些進制之間的轉換,要是在能用計算器的情況下我們還是要毫不猶豫的選擇計算器,那樣不但快而且准。

Copyright © Linux教程網 All Rights Reserved