Java SE(12) 擴充套件——進位制轉換

擺渡人wqh發表於2020-12-21

數制:按照進位原則進行計數稱為進位技術制。

          不同的數制有不同的基數和位權。

目錄

基數

位權

書寫規則

書面書寫規則

程式設計書寫規則

進位制轉換

低進位制轉高進位制

高進位制轉低進位制


基數

概念:每種數制中數碼的個數稱為該數制的基數。

數制基數數碼
二進位制20 1
八進位制80 1 2 3 4 5 6 7
十進位制100 1 2 3 4 5 6 7 8 9
十六進位制160 1 2 3 4 5 6 7 8 9 A B C D E F

 

  逢2進1

  逢8進1

  逢10進1

  逢16進1

 


位權

概念:在每個數制中,一個數碼所處位置的不同,代表的數值大小不同,稱為具有不同的位權。

           例如:二進位制    1111.11   最左邊的1代表1*2^3=16,最右邊的1代表1*2^-2=0.25.

                     八進位制     2222.22                2        2*8^3                                 2*8^-2

                    十進位制      3333.33                3        3*10^3                               3*10^-2

                十六進位制       4444.44                4        4*16^3                               4*16^-2


書寫規則

書面書寫規則

方式一:在數字後加英文字母

          B(binary)表示二進位制數,二進位制101可寫成101B

          O(octonary)表示八進位制數,八進位制101可寫成101O或101Q

          D(decimal)表示十進位制數,十進位制101可寫成101D

          H(hexadecimal)表示十六進位制數,十六進位制101可寫成101H

方式二:在括號外面加數字下標

         

程式設計書寫規則

      二進位制整數,要求0b或者0B開頭,如:0b11

     十進位制整數,如:99, -500, 0

     八進位制整數,要求以 0 開頭,如:015

    十六進位制數,要求 0x 0X 開頭,如:0x15


進位制轉換

低進位制轉高進位制

位權展開求和法

1. 二進位制——>十進位制

例如:    1      0     1         1      0  0      1    .   1        0     1           1          1      B

         =1*2^6+0+1*2^4+1*2^3+0+0+1*2^0+1*2^-1+0+1*2^-3+1*2^-4+1*2^-5

         =   64  +0+   16  +    8   +0+0+    1    +  0.5   +0+ 0.125+0.0625+0.03125

         =   89.71875D

2. 二進位制——>八進位制(取合一——>各自位權展開求和)

以小數點為界,分別向左和向右分成三組一位,不夠三位補零,分完組後對應成八進位制數。

例如:    1 011 001 . 101 11   B

         =001 011 001 . 101 110 B

         =  1      3    1   .   5      6  Q

3. 二進位制——>十六進位制(取合一——>各自位權展開求和)

以小數點為界,分別向左和向右分成四組一位,不夠四位補零,分完組後對應成十六進位制數。

例如:    101 1001 . 1011 1        B

          = 0101 1001 . 1011 1000  B

          =    5       9   .     B       8    H

4. 八進位制——>十進位制

    例如:   1         6      Q

            =1*8^1+6*8^0 

            =    8    +   6 

            =14D

5. 八進位制——>十六進位制

   方法:八進位制——>十進位制——>十六進位制

高進位制轉低進位制

除二倒向取餘法

1. 十進位制——>二進位制

整數部分除2倒向取餘,小數部分乘2正向取整

例如:89.71875D=1011001.10111B

         

2. 八進位制——>二進位制

方式一:八進位制的每位除2倒向取餘,每個對應三個二進位制位,不足時在最左邊補零

              例如:276.15Q=10 111 110.001 101B

              

方式二:每一個八進位制展開成三個二進位制位即可(取一分三)。

              例如:  2    7     6  .   1      5  Q

                      =010 111 110 . 001 101 B

3.十六進位制——>二進位制

方式一:十六進位制的每位除2倒向取餘,每個對應四個二進位制位,不足時在最左邊補零

              例如:3AC.1EH=11 1010 1100.0001 1110 B

              

方式二:每一個十六進位制展開成四個二進位制位即可(取一分四)。

              例如:  3      A      C.       1       E   H

                    =0011 1010 1100 . 0001 1110 B

4. 十進位制——>八進位制

    整數部分除8倒向取餘

    例如:14D=16Q

    

 

相關文章