天天看點

進制轉換

(一)進位計數制的基本概念

  将數字元号按序排列成數位,并遵照某種由低位到高位進位的方法進行計數,來表示數值的方式,稱作進位計數制。比如,我們常用的是十進位計數制,簡稱十進制;就是按照“逢十進一”的原則進行計數的。

  進位計數制的表示主要包含三個基本要素:數位、基數和位權。數位是指數位在一個數中所處的位置;基數是指在某種進位計數制中,每個數位上所能使用的數位的個數,例如十進位計數制中,每個數位上可以使用的數位為0、1、2、3…9十個數位,即其基數為10;位權是指一個固定值,是指在某種進位計數制中,每個數位上的數位所代表的數值的大小,等于在這個數位上的數位乘上一個固定的數值,這個固定的數值就是這種進位計數制中該數位上的位權。數位所處的位置不同,代表數的大小也不同。例如在十進位計數制中,小數點左邊第一位位權為 10^0,左邊第二位位權為 10^1;左邊第三位位權為10^2;…。 小數點右邊第一位位權為10^-1;小數點右邊第二位位權為10^-2;…以次類推。

1.十進制

十進位計數制簡稱十進制;有十個不同的數位符号:0、1、2、3、4、5、6、7、8、9。每個數位符号根據它在這個數中所處的位置(數位),按“逢十進一”來決定其實際數值,即各數位的位權是以10為底的幂次方。

例如:(215.48)10 = 2×10^2+1×10^1+5×10^0+4×10^-1+8×10^-2

2.二進制

二進位計數制簡稱二進制;有二個不同的數位符号:0、1。每個數位符号根據它在這個數中所處的位置(數位),按“逢二進一”來決定其實際數值,即各數位的位權是以2為底的幂次方。

例如:(11001. 01)2 = 1×2^4+1×2^3+0×2^2+0×2^1+1×2^0+0×2^-1+1×2^-2 = (25.25)10

3.八進制

八進位計數制簡稱八進制;有八個不同的數位符号:0、1、2、3、4、5、6、7。每個數位符号根據它在這個數中所處的位置(數位),按“逢八進一”來決定其實際數值,即各數位的位權是以8為底的幂次方。

例如:(162.4)8 = 1×8^2+6×8^1+2×8^0+4×8^-1 = (114.5)10

4.十六進制

十六進位計數制簡稱十六進制;有十六個不同的數位符号:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。每個數位符号根據它在這個數中所處的位置(數位),按“逢十六進一”來決定其實際數值,即各數位的位權是以16為底的幂次方。

例如:(2BC.48)16 = 2×16^2+B×16^1+C×16^0+4×16^-1+8×16^-2 = (700.28125)10

  總結以上四種進位計數制,可以将它們的特點概括為每一種計數制都有一個固定的基數,每一個數位可取基數中的不同數值;每一種計數制都有自己的位權,并且遵循“逢基數進一”的原則。 

(二)進位計數制之間的轉換

1、二進制轉換到十進制簡易方法:(10110101)2此數從低位到高位分别在對應數字下寫上:2021222324252627對(1 2 4 8 16 32 64 128)對應相乘後相加(紅色數字相加)得:(181)10   

2.不同進位計數制之間的轉換,實質是基數轉換。一般轉換的原則是:如果兩個有理數相等,則兩個數的整數部分和小數部分一定分别相等。是以,數制之間進行轉換時,通常對整數部分和小數部分分别進行轉換。

 1.非十進制數(N 進制數)轉換為十進制數  方法:将各個N進制數按權展開求和即可。

例如:

(10110.11)2 = 1×2^4+0×2^3+1×2^2+1×2^1+0×2^0+1×2^-1+1×2^-2=(22.75)10

(125.24)8 = 1×8^2+2×8^1+5×8^0+2×8^-1+4×8^-2=(85.3125)10 

(3A8.48)16 = 3×16^2+A×16^1+8×16^0+4×16^-1+8×16^-2=(936.28125)10

 2.十進制數轉換為非十進制數(N進制數)  方法:整數部分采取“除基數取餘法”,小數部分采取“乘基數取整法”。

1)十進制轉換為二進制數  方法:整數部分采取“除2取餘法”,小數部分采取“乘2取整法”。

例如:将十進制(123.75) 10轉換為二進制數

整數部分123轉換如下:

        餘數.小數點

2 123      1   整數低位

2  61      1

2  30      0

2  15      1

2   7      1

2   3      1

2   1      1

    0      1   整數高位

小數部分0.75轉換如下:

    小數點.整數    0.75

          |       *   2

小數首位  | 1      1.50

          |        0.50

小數末位  | 1      1.00

                     00——為零,轉換結束

即 (123.75)10 = (1111011.11)2

2)十進制轉換為八進制數

方法:整數部分采取“除8取餘法”,小數部分采取“乘8取整法”。

例如:将十進制(123.75) 10轉換為八進制數

             餘數.小數點

8 | 123          |  整數低位

8 |  15        3 |

8 |   1        7 |

      0        1 |  整數高位

小數點.整數       0.75

      |        *     8

      |  6        6.00

      |             00——為零,轉換結束

即(123.75)10 = (173.6)8

3)     十進制轉換為十六進制數  方法:整數部分采取“除16取餘法”,小數部分采取“乘16取整法”。

例如:将十進制(123.75) 10轉換為16進制數

              餘數.小數點

16 | 123          |  整數低位

16 |  7         B |

       0        7 |  整數高位

      |        *    16

      |  C        12.0

      |              0——為零,轉換結束

即(123.75)10 = (7B.C)16

3.非十進制數之間的互相轉換

1) 八進制數與二進制數之間的轉換

由于一位八進制數相當于三位二進制數,是以,要将八進制數轉換成二進制數時,隻需以小數點為界,向左或向右每一位八進制數用相應的三位二進制數取代即可。如果不足三位,可用零補足之。反之,二進制數轉換成相應的八進制數,隻是上述方法的逆過程,即以小數點為界,向左或向右每三位二進制數用相應的一位八進制數取代即可。

例如:将八進制數(357.162)8轉換成二進制數。

       3     5     7  ·  1     6     2

     011   101   111     001   110   010

即(357.162)8 = (11101111.0011101)2

 例如:将二進制數(101011110.10110001)2轉換成八進制數。

101   011   110   ·   101   100    010

 5     3     6        5     4      2

即(101011110.10110001)2 = (536.542)8

2)十六進制數與二進制數之間的轉換

由于一位十六進制數相當于四位二進制數,是以,要将十六進制數轉換成二進制數時,隻需以小數點為界,向左或向右每一位十六進制數用相應的四位二進制數取代即可。如果不足四位,可用零補足之。反之,二進制數轉換成相應的十六進制數,隻是上述方法的逆過程,即以小數點為界,向左或向右每四位二進制數用相應的一位十六進制數取代即可。

例如:将十六進制數(5AB.8CE)16轉換成二進制數。

       5      A      B  ·    8      C      E

     0101   1010   1011    1000   1100   1110

即(5AB.8CE)16 = (10110101011.10001100111)2

例如:将二進制數(1100101001011.001100101)2轉換成十六進制數。

      0001  1001   0100    1011 ·   0011   0010    1000

        1     9      4      B         3      2       8

即(1100101001011.001100101)2 = (194B.328)16

本文轉自 風雨蕭條 51CTO部落格,原文連結:http://blog.51cto.com/1095221645/1553533,如需轉載請自行聯系原作者

繼續閱讀