十六進制,十進制,八進制,二進制轉換(含小數部分)


提示:各類進制在實際中表示

十進制:D(Decimal)

二進制:B(Binary)

八進制:O(Octal)  

十六進制:H(Hexadecimal)

如:(4B1)16又可寫為4B1H

      (12345)8又可以寫為12345O

      (10011)2又可以寫為10011B

 

1、非十進制與十進制的轉換

1.1、基本原則:

按權展開法,即把各數位乘權的i次方后相加

 

1.2、實例:

例1:二進制與十進制的轉換,帶小數部分

01011010.01B=0×2^7+1×2^6+0×2^5+1×2^4+1×2^3+0×2^2  +1×2^1+0×2^0+0×2^-1+1×2^-2 = 90.25

例2:八進制與十進制的轉換,如有小數部分,對應乘相應8的-i次方【字母O,表示八進制】

245O = 3x8^2+4x8^1+5x8^0 = 229

例3:十六進制與十進制的轉換,如有小數部分,對應乘相應16的-i次方【字母H,表示十六進制】

F2DH = 15x16^2+2x16^1+13x16^0 = 3885

 

2、十進制與非十進制的轉換

2.1、基本原則:

原則1:整數部分與小數部分分別轉換;

原則2:整數部分采用除基數(轉換為2進制則每次除2,轉換為8進制每次除8,以此類推)取余法,直到商為0,而余數作為轉換的結果,第一次除后的余數為最低為,最后一次的余數為最高位;

原則3:小數部分采用乘基數(轉換為2進制則每次乘2,轉換為8進制每次乘8,以此類推)取整法,直至乘積為整數或達到控制精度。

2.2、實例:

例1:將十進制數725.625分別轉換為十六進制、八進制、二進制

轉換為二進制,整數部分每次除2,小數部分每次乘以2:

 

                        整數部分:                                 小數部分:
                2 |725…………..余數=1        最低位           0.625                              
                2 |362…………..余數=0                            ×       2
                2 |181…………..余數=1                               1.250…..整數=1         小數部分最高位,靠近點的那位  
                  2 |90……..……余數=0                              0.250
                  2 |45…………..余數=1                             ×       2
                  2 |22…………..余數=0                            0.500…..整數=0                  
                  2 |11…………..余數=1                             ×       2
                    2 |5…………..余數=1                             1.000…..整數=1         小數部分最低位,最遠點的那位 
                    2 |2…………..余數=0                            0.000
                    2 |1…………..余數=1        最高位                        >                                    
                       0¨商為0,轉換結束                           積為0,轉換結束
轉換結果為: 725.625D=1011010101.101B

3、二進制、八進制、十六進制之間的轉換

3.1、基本原則:

原則1:將二進制轉換成八進制按3位一組進行;
原則2:將二進制轉換成十六進制按4位一組進行;
原則3:分組時如位數不夠,整數部分在最左邊補0,小數部分在最右邊補0;
原則4:八進制轉二進制,將1位八進制轉換為3位二進制;
原則5:十六進制轉二進制,將1位十六進制轉換為4位二進制。
 

3.2、實例:

例1:將1011001.1101011分別轉換為八進制,十六進制
1011001.1101011 =   00 1  011  001. 110  101  1 00  = 131.654O           
1011001.1101011 =  0 101  1001. 1101  011 0  = 59.d6H    

例2:將八進制數3571.402O轉換為二進制
3571.402O = 110 011 101 111 001.100 000 010B    
 
例3:將十六進制數91a28.b71H轉換為二進制
91a28.b71H = 1001 0001 1010 0010 1000.1011 0111 0001B


免責聲明!

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



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