進制轉換的知識

 

 計算機組成原理目錄html

 

進制學習程序員

原文連接:https://www.cnblogs.com/ds-3579/p/5246142.htmlpost

進制轉換的內容,即十進制,二進制,八進制,十六進制之間的相互轉換。學習

1、基礎內容編碼

十進制:有十個基數 0,1,2,3,4,5,6,7,8,9 spa

二進制:逢二進一,借一爲二。htm

           基數爲0,1blog

八進制:逢八進一,借一爲八。ci

           基數爲0,1,2,3,4,5,6,7get

十六進制:逢十六進一,借一爲十六。

           基數爲0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

2、轉換方法

1、十進制與其餘進制(2、8、十六)

十進制→ 二進制:十進制數除以二,除至0後,所得餘數按照反方向寫出便可。(如圖所示)

 

十進制→ 八進制:十進制數逐次整除八,直至商爲0,所得餘數按照反方向寫出便可。

(同理,把上圖中2換成8計算便可)

 

十進制→ 十六進制:十進制數逐次整除十六,直至商爲0,所得餘數按照反方向寫出便可,但要注意10及其以上的數字用字母A-F表示。

(同理,把上圖中2換成16計算便可)

 

2、其餘進制(2、8、十六)與十進制

注意:a---m方向爲從右到左

二進制→十進制:a×20+b×21+c×22+d×23+…….+m×2(n-1)

例如:將二進制的(101011)轉換爲十進制的步驟以下:

1. 第0位 1 x 2^0 = 1;

2. 第1位 1 x 2^1 = 2;

3. 第2位 0 x 2^2 = 0;

4. 第3位 1 x 2^3 = 8;

5. 第4位 0 x 2^4 = 0;

6. 第5位 1 x 2^5 = 32;

7. 讀數,把結果值相加,1+2+0+8+0+32=43

二進制位數(從右到左)

第一位

第二位

第三位

第四位

第五位

第六位

第七位

第八位

對應的2的次方

2^0

2^1

2^2

2^3

2^4

2^5

2^6

2^7

對應結果

1

2

4

8

16

32

64

128

 

 

 

 

 

八進制→十進制:a×80+b×81+c×82+d×83+…….+m×8(n-1)

例如:將八進制的(53)轉換爲十進制的步驟以下:

1. 第0位 3 x 8^0 = 3;

2. 第1位 5 x 8^1 = 40;

3. 讀數,把結果值相加,3+40=43(8)

八進制位數(從右到左)

第一位

第二位

第三位

第四位

第五位

第六位

第七位

第八位

對應的8的次方

8^0

8^1

8^2

8^3

8^4

8^5

8^6

8^7

對應結果

1

8

64

512

4096

32768

262144

2097152

 

 

 

 

 

十六進制→十進制:a×160+b×161+c×162+d×163+…….+m×16(n-1)

例:將十六進制的(2B)轉換爲十進制的步驟以下:

1. 第0位 B x 16^0 = 11;

2. 第1位 2 x 16^1 = 32;

3. 讀數,把結果值相加,11+32=43(16)

十六進制位數(從右到左)

第一位

第二位

第三位

第四位

對應的16的次方

16^0

16^1

16^2

16^3

對應結果

1

16

256

4096

 

 

 

 

 

3、其餘進制之間的轉換

二進制→八進制:對於整數,採用從右到左每三位一組,不夠三位的在其左邊補齊0,每組單獨轉換出來便可。

例如:轉換二進制數 1110101010100 那麼分組爲
001 110 101 010 100 按照轉換方法對應轉換
  1    6    5    2    4
因此 1110101010100(2) = 16524(8)

八進制→二進制:將每位八進制由三位二進制數代替便可。

二進制與八進制編碼對應表:

二進制

八進制

000

0

001

1

010

2

011

3

100

4

101

5

110

6

111

7

 

 

二進制→十六進制:此時分組爲從右到左每 4 位二進制數爲一組進行轉換

例如:轉換二進制 0101010100101011010,分組:
0010 1010 1001 0101 1010
   2     A      9      5      A
因此0101010100101011010(2) = 2A95A(16)

十六進制→二進制:將每位十六進制由四位二進制數代替便可。

二進制和十六進制的互相轉換比較重要。不過這兩者的轉換卻不用計算,每一個C,C++程序員都能作到看見二進制數,直接就能轉換爲十六進制,反之亦然。

首先咱們來看一個二進制數:1111,它是多少呢?

你可能還要這樣計算:1 * 2 + 1 * 2 + 1 * 2 + 1 * 2 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。

然而,因爲1111才4位,因此咱們必須直接記住它每一位的權值,而且是從高位往低位記,:八、四、二、1。即,最高位的權值爲2^3 = 8,而後依次是 2^2 = 4,2^1=2, 2^0 = 1。

記住8421,對於任意一個4位的二進制數,咱們均可以很快算出它對應的10進制值。

 

僅四位的二進制數

快速計算方法

十進制值

十六進制值

1111

8+4+2+1

15

F

1110

8+4+2+0

14

E

1101

8+4+0+1

13

D

1100

8+4+0+0

12

C

1011

8+0+2+1

11

B

1010

8+0+2+0

10

A

1001

8+0+0+1

9

9

……

0001

0+0+0+1

1

1

0000

0+0+0+0

0

0

4、下面是2、8、10、十六進制之間關係的結構圖:

五、幾個進制之間的對應關係:

相關文章
相關標籤/搜索