二進制 八進制 十進制 十六進制的相互轉換(精簡總結)

以前看到的都是鋪墊這術語那術語的,看了半天,還不知道怎麼處理。這裏就根據各類文章和本身的理解總結一小下下,  不必定準確,省略一些概念等繁瑣的陳述,直接上結論spa

1.二進制轉八進制:以小數點爲分界線,各自向左向右 每3位組成一組,不夠位數的自動向高位或向低位補0,而後把每組的數字轉換爲八進制數就能夠了,小數點的位置不變。二進制

eg:(1101110.1011)2 分組後    (001)(101)(110).(101) (100) 而後把每組換算成8進制數就能夠了(紅色爲補的0 (156.54)8總結

逆向思惟:八進制轉二進制  把每一位八進制數變爲3位二進制數就好了(別說你不會啊!~)(小數點的位置不變)co

 

2.二進制轉十進制:按權相加法,即將二進制每位上的數乘以權,而後相加之和便是十進制數 思維

eg: (1101110.1011)2 變成加法  26+25+0+23+22+21+0 . 2-1+0+2-3+2-4   = 64+32+0+8+4+2+0 . 0.5+0+0.125+0.0625  =110.6875      (紅色爲小數點
術語

 

3.二進制轉十六進制:以小數點爲分界線,各自向左向右 每4位組成一組,不夠位數的自動向高位或向低位補0,而後把每組的數字轉換爲十六進制數就能夠了,小數點的位置不變。數字

eg:(1101110.1011)分組後 (0110)(1110).(1011)而後把每組換算成16進制數就能夠了紅色爲補的0)(6E.B)16background

逆向思惟:十六進制轉二進制  把每一位十六進制數變爲4位的二進制數就好了(你會的!~)(小數點的位置不變)錯誤


4.十進制轉二進制:(恩!~這個有點麻煩!)
文章

分爲 整數部分小數部分

1)整數部分:除2取餘法,即每次將整數部分除以2,餘數爲該位權上的數,而商繼續除以2,餘數又爲上一個位權上的數,這個步驟一直持續下去,直到商爲0爲止,最後讀數時候,從最後一個餘數讀起,一直到最前面的一個餘數。(好長一句,就是不斷的除2,餘數留着,商繼續除,一直除到商爲0,把餘數反向連起來就OK了)

eg:110

      商     餘數

 

110/2        55     0

55/2          27    1

27/2         13     1

13/2         6       1

6/2          3        0

3/2          1        1

1/2         0        1       (這步記着哦~)

此時商爲0 了,把餘數反向連起來1101110  (注意啊,跟示例2整數值是否一致呢。。。。!)

2)小數部分:乘2取整法,即將小數部分乘以2,而後取整數部分,剩下的小數部分繼續乘以2,而後取整數部分,剩下的小數部分又乘以2,一直取到小數部分 
爲零爲止。若是永遠不能爲零,就同十進制數的四捨五入同樣,按照要求保留多少位小數時,就根據後面一位是0仍是1,取捨,若是是零,舍掉,若是是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數(這句更長,分解一下,就是不斷乘2,而後把整數留着,把剩下的小數繼續乘2,一直到小數部分爲0,把留下的整數部分順序連起來就OK了!至於四捨五入的狀況,你會遇到幾回呢?呵呵!)

eg:0.6875

                     整數      小數

0.6875*2         1        .375

0.375*2           0        .75

0.75*2             1        .5

0.5*2               1         0

此時小數部分爲0,把整數連起來1011(正序啊~)(注意啊,跟示例2小數數值是否一致呢。。。。!)

到此該結束了。怎麼樣,高端大氣上檔次吧。恩~(那還有八進制轉十進制、轉十六進制 |  十進制轉八進制、十六進制 | 十六進制轉八進制、轉十進制呢???)

難道真要記住那些繁瑣怪異凌亂變態的規則嗎,一句話,剩下的全借二進制中轉一下(固然你夠厲害或者很** 就另當別論了,呵呵!)

若有錯誤請指出,反正我也不必定改!

相關文章
相關標籤/搜索