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


之前看到的都是鋪墊這術語那術語的,看了半天,還不知道怎么處理。這里就根據各種文章和自己的理解總結一小下下,  不一定准確,省略一些概念等繁瑣的陳述,直接上結論

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

eg:(1101110.1011)2 分組后    (001)(101)(110).(101) (100) 然后把每組換算成8進制數就可以了(紅色為補的0 (156.54)8

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

 

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)16

逆向思維:十六進制轉二進制  把每一位十六進制數變為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小數數值是否一致呢。。。。!)

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

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

如有錯誤請指出,反正我也不一定改!


免責聲明!

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



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