將十進制數字轉換為二進制


在開發中其實數字轉換進制是經常的事,但是它是如何實現轉換的呢?

先隨便拿一個數字來計算,就定為 28 吧,要將 一個十進制的 28 轉換為 二進制應該怎么去做呢?

  其實很簡單,我們來看例子: 先將 28 除以 2, 即 28 / 2 = 14 余 0, 接着 將 14 / 2 = 7 余 0 ,接着將 7 / 2 = 3  余 1 , 接着將 3 / 2 = 1 余 1 

  最后將 最后一個商 從 后 向前拼接起來 即: 28轉換為二進制 則為  11100,

  那么我們來驗證一下是否是對的

  

 

 

 結果證明是對的,那我們再來一個驗證這個方法:

  拿一個大一點的數,就定 453 吧

  第一步,計算:

    453 / 2 = 226 ······ 1

    226 / 2 = 113 ······ 0

    113 / 2 = 56  ······ 1

    56 / 2 = 28 ······ 0

    28 / 2 = 14 ······ 0

    14 / 2 = 7 ······ 0

    7 / 2 = 3  ······ 1

    3 / 2 = 1 ······ 1

  第二步,拼接:

  最后一個商 為 1 ,然后把這個商和這些余數從后向前拼接起來,即 111000101

  那么我們再去驗證一下結果:

  

 

   結果說明這個方法是正確的。

 

  那如果我想 將一個二進制轉換為一個十進制 應該怎么做呢?

  其實也很簡單,例如現在有一個二進制 為 111000101,那么我們是從后向前來進行排序來進行計算。

  第一步,計算:

    1 * 2的0次方 = 1

    0 * 2的1次方 = 0

    1 * 2的2次方 = 4

    0 * 2的3次方 = 0

    0 * 2的4次方 = 0

    0 * 2的5次方 = 0

    1 * 2的6次方 = 64

    1 * 2的7次方 = 128

    1 * 2的8次方 = 256

  第二步,將結果相加起來:1 + 0 + 4 + 0 + 0 + 0 + 64 + 128 + 256 = 453

  

 

 

 

接下來是 16 進制和 10 進制的轉換

  在這里我們先看一個對照表:

  

 

  在這里作出這個表的說明:其實不管是幾進制,就是逢幾進 1 的意思,例如我們平時最常用的十進制計算逢10進1,在進為之前有0 ,1 ,2 ,3, 4, 5, 6, 7, 8 ,9 代表,

  當然,如果是8進制,那就是 0, 1, 2, 3, 4, 5, 6 ,7 

  如果是 12 進制就是 0 到 B,

  如果是16 進制就是 0 到 F,當然還有很多其它的進制,其實都是一樣的道理。

   在16進制中我們經常看到會有一些大寫的字母,例如: 2AF2BC

  其實我們只要知道A B C D E F 分別代表着一個數字就可以了,A代表數字 10,B代表數字 11,C代表數字 12, D代表數字 13, E代表數字14,F代表數字15

  那接下來就簡單了,因為計算其實和二進制是差不多的。

  我們來看一個例子:將十六進制 2AF2BC 轉換為 十進制

  第一步:從后向前來進行排序來進行計算。

  首先是C,它代表的是12,

  那就是 12 * 16的0次方 = 12

  B代表的是11,即:11 * 16的1次方 = 176

  接下來是 2 * 16 的2次方 = 512

  F代表的是15,即:15 * 16的3次方 = 61440

  A代表的是10,即:10 * 16的4次方 = 655360

  接下來是2 * 16的5次方 = 2097152

  第二步,把它們相加:12 + 176 + 512+ 61440 + 655360 + 2097152 = 2814652

  接下來我們看一下效果:

  

 

   那接下來我們將十進制轉換為 十六進制,計算方法和二進制是一樣的其實

  那我們先隨便定一個數字,例如:2589

  第一步,計算:

    2589 / 16 = 161  ······ 13

    161 / 16 = 10  ······ 1

  第二步,拼接。最后一個商為10則為A,1直接為1,13為 D , 則最后結果為 A1D

  

 

   

  最后我們在來看一下12進制和10進制的轉換

  例如十進制的 18 轉換為 12進制

  18  / 12 = 1 ······ 6

  最后一個商 是 1 拼接起來就是 16

  

 

   好,我們來個大一點的數字:

  例如: 241

  241 / 12 = 20 ······ 1

  20 / 12 = 1······ 8

  拼接起來就是:181 我們看一下結果:

  

 

   那我們來將12進制轉換為 10 進制看看,

  如: 5A3B

  第一步,計算:

   B代表11,則 11 * 12的0次方 = 11

   3 * 12 的1 次方 = 36

   A代表10,則 10 * 12的2次方 = 1440

   5 * 12的3次方 = 8640

  第二步,相加: 11 + 36 + 1440 + 8640 = 10127

  

 

 

  其實就是怎么簡單,所有的進制都可以通過這樣的方法來進行轉換


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM