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

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

十進制: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 =  001  011  001.110  101  100  = 131.654O           
1011001.1101011 = 0101  1001.1101  0110  = 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

發佈了21 篇原創文章 · 獲贊 13 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章