進制的轉換

二進制到十進制的轉換

十進制有 0,1,2,3,4,5,6,7,8,9

二進制有 0,1

  由於所處的位置不同,每個數位都有一個不同的放大倍數,稱為“權"。每個數位的權是這樣計算的:從右向左開始,以基數為底,指數從0開始遞增的冪。比如一個二進制數 10110001,它的基數是2,所以要這樣計算它等值的十進制數:

10110001 = 1×27 ^7

7

+0×26 ^6

6

+1×25 ^5

5

+1×24 ^4

4

+0×23 ^3

3

+0×22 ^2

2

+0×21 ^1

1

+1×20 ^0

0

= 177D

由上可以想到另一種方法轉換:

由上我們可以列出一組數:1,2,4,8,16,32,64,128 ······

我們可以對應這組數進行計算,二進制遇到 1 就累加,遇到 0 就跳過。

10110001 = 128+32+16+1 = 177

  上面的公式裡,10110001B 裡的B表示這是一個二進制數,D則表示177是個十進制數。B 和 D 分別是英語單詞 Binary 和 Decimal 的頭一個字母,這兩個單詞分別表示二進制和十進制的意思。

十進制到二進制的轉換

  為了將一個十進制轉換成二進制數,可以採用將它不停地除以二進制的基數 2,直到商為0,然後將每一步的得到的餘數串起來,從左向右書寫,就是我們所要轉換的二進制數。

進制的轉換

十六進制到十進制的轉換

  要把一個十六進制數轉換成我們熟悉的十進制數,我們採用和前面一樣的方法。只不過,計算各個數位的權時,冪的底數是16。比如將十六進制數125轉換成十進制數的方法如下:

125H = 1×162 ^2

2

+1×162 ^2

2

+1×160 ^0

0

= 293D

  上式裡,125後面的 H 用於表明這是個十六進制數,它是盈餘單詞 hexadecimal 的頭一個字母,這個單詞的意思是十六進制。

十進制到十六進制的轉換

  要把一個十進制數轉換成十六進制數,則可以採取不停地除以16並取其餘數的策略。

進制的轉換

二進制到十六進制的互換

  看看十進制數,二進制數和十六進制數之間,都有些什麼有趣的規律和特點。

進制的轉換

4比特的二進制數,可以表示的數是 0000 到 1111,也就是十進制的0~15,這正好對應於十六進制的0 ~ F。

進制的轉換

如果將一個二進制數從右向左,分成4比特為一組的形式,分別將一組的值轉換成十六進制數,就可以得到這個 二進制數所對應的十六進制數。

換位思考

我們知道

1111B = 8+4+2+1 = 15D

那麼

1110 = 15 - 1 = 14D

所以

1101 = 15 - 2 = 13D

1011 = 15 - 4 = 11D

0111 = 15 - 8 = 7D


分享到:


相關文章: