進制之間的換算(華爲筆記回顧)

目前我們所學的都是基於十進制。若想換成其他進制數,最簡單的偏方是將十進制除以所需要的進制數。看接下來的實例:

將十進制的50轉換成二進制

 文本: 50÷2=25••••••0
             25÷2=12••••••1
             12÷2=6••••••0
              6÷2=3••••••0
              3÷2=1••••••1
              1÷2=0••••••1

從下往上依次寫得出的二進制爲110010

因爲IP地址的每一組是8位,所以正規的寫法是00110010(左邊用0補齊)

接下來二進制轉換10進制。

這裏有一個記憶要點。順序是從右往左。而不是從左往右,從左往右一次爲第0位,第1位,第2位......

由於是二進制,每一位滿2進1計算方法爲從

           從右邊第一位開始×進制的n次方+下一位×進制的n次方+.......(這裏n爲從右到左的位數)

實例 1 1 0 0 1 0換成2進制

0×2^0+1×2^1+0×2^2+0×2^3+1×2^4+1×2^5=0+2+0+0+16+32=50

上述方法雖然簡單,但卻不是最快的,接下來我們就學習最科學的方法:

我們先要了解,二進制的每一位都對應了進制的n次方的問題;

比如,001=1。對應的是2^0=1.

          010=2。對應的是2^1=2

         011=3。對應的是1×2^0+1×2^1=1+2=3

         100=4。對應的是1×2^2=4。

首先我們需要記憶每一位所對應的數值

比如我們要求50的二進制數我們發現

 32+16+2=50。那麼我們就可以把32,16,2所對應的位數變爲1得出的二進制數值爲

    0                0               1               1              0                0              1              0

進制的50數換成八進制數

得出的八進制數位62。

同理,八進制換成10進制也是從右邊第一位開始×進制的n次方+下一位×進制的n次方+.......(這裏n爲從右到左的位數

6    2
--------
1    0

得出八進制62的十進制爲 2×8^0+6×8^1=2+48=50

上述方法雖然簡單,但卻不是最快的,接下來我們就學習最科學的方法:

先將十進制數換成二進制數,再將二進制數換成八進制數

50的二進制數爲,00110010.因爲是八進制數,2^3=8,所以每三位就代表一個八進制數。我們就先把二進制數從右到左每三位隔開

0 0  0    |   1 1 0   |    0 1 0
-------------------------------------

0                 6                2

000=0.             110的十進制爲6。      010的十進制爲2

得出八進制數位62

 

十進制與十六進制之間的換算也是一樣

十進制108換成16進制

得出的十六進制爲6C(這裏C代表12)

因爲十六進制從10到15分別用A,B,C,D,E,F來表示

十六進制換算成10進制的方法也是一樣 從右邊第一位開始×進制的n次方+下一位×進制的n次方+.......(這裏n爲從右到左的位數

十六進制6C換算成十進制。

6   12
--------

1·    0

12×16^0+6×16^1=12+96=108

上述方法雖然簡單,但卻不是最快的,接下來我們就學習最科學的方法:

108換成二進制數,再將二進制數換成十六進制數

108的二進制數爲01101100

與八進制換十六進制的方法一樣。2^4=16,所以每4位代表一個16進制數,從右往左每4位劃分,不夠從左邊補零。

0110 | 1100
-------------------

 

0110爲十進制數6,1100爲十進制數12。

所以得出108的十六進制數爲6C(6  12)

 

 

本文全是按照博主的計算思路來寫的,倘若看不懂的歡迎留言 ,博主若看到,必定回覆。

 

 

           

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章