二進制、十進制轉換

在講轉換以前,咱們來了解下兩種進制的概念。十進制是咱們從小就開始學習的,能夠說很是熟悉,之因此使用這麼普遍,頗有可能跟咱們有十根手指有關。所謂【十進制】,就是:學習

數值的每一位都由0~9組成,共有10種狀態,逢十進一,爲十進制編碼

二進制在生活中能夠說基本用不到,可是它是計算機底層的編碼組成,就是所謂的機器語言。一樣二進制的理解能夠這樣:二進制

數值的每一位都由0和1兩種狀態組成,逢二進一,爲二進制方法

[二進制]->[十進制]

固然,二進制和十進制同樣,可以表示正數也可以表示負數,咱們這裏只討論基本的正整數的進制轉換,不涉及負數和小數。咱們先來看一個十進制整數650分解到每一位後的表示方法:
650
=600+50+0 (百、10、個)
=6×100+5×10+0×1
=6×10^2+5×10^1+0×10^0(注意10^2表示10的2次方)計算機

從上面的分解過程咱們能夠將每一位上的數概括爲如下公式語言

=m×10^n生活

m表示當前位的值,n表示當前位右邊有n個數。block

例如:百位6×10^2的理解就是當前位數值m是6,指數2表示當前百位右邊還有2個數。
十進制是以10爲底的指數,一樣,二進制不一樣就是以2爲底的指數,二進制的每一位表示公式以下:底層

=m×2^n進制轉換

m表示當前位的值,n表示當前位右邊有n個數。

根據以上公式咱們能夠試着來轉換一個二進制數值:
*11011
=1×2^4+1×2^3+0×2^2+1×2^1+1×2^0
=2^4+2^3+2^1+2^0
=16+8+2+1
=27*
從上面的計算咱們能夠看到,二進制只有0和1,因此咱們通常計算的時候只要考慮有1的位,而後把他們求和就能夠了。

[十進制]->[二進制]

十進制轉二進制其實不止一種方法,有除二取餘法、湊數法等等,這裏咱們介紹[湊數法]。那什麼是湊數法呢?咱們知道在二進制中,每一位都是2的指數冪,因此咱們能夠將一個十進制數先拆開,湊成幾個2的指數的和,而後將拆開的數的指數填入對應二進制位。先來看個例子
123
=64+32+16+8+2+1
=2^6+2^5+2^4+2^3+2^1+2^0
=2^(7-1)+2^(6-1)+2^(5-1)+2^(4-1)+2^(2-1)+2^(1-1)
=1111011

從上面能夠看出,第七、六、五、四、二、1位上有1值,其他爲0,因此咱們將這些位填上1,第三位填入0,結果即爲1111011。

相關文章
相關標籤/搜索