Java SE(12) 扩展——进制转换

数制:按照进位原则进行计数称为进位技术制。

          不同的数制有不同的基数和位权。

目录

基数

位权

书写规则

书面书写规则

编程书写规则

进制转换

低进制转高进制

高进制转低进制


基数

概念:每种数制中数码的个数称为该数制的基数。

数制基数数码进位原则
二进制20 1逢2进1
八进制80 1 2 3 4 5 6 7逢8进1
十进制100 1 2 3 4 5 6 7 8 9逢10进1
十六进制160 1 2 3 4 5 6 7 8 9 A B C D E F逢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

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值