Java基础之进制

来源:互联网 发布:java reentrantlock 编辑:程序博客网 时间:2024/06/05 01:02

进制: 是一种进位的方式,分为二进制、八进制、十进制、十六进制。 X进制,逢X进1。

常量:不同进制的数据组成:

二进制: 由0,1组成,以0b开头;

八进制:由0,1,......7组成,以0开头;

十进制:由0,1,......9组成,整数默认是十进制的;

十六进制:由0,1,.....9,a,b,c,d,e,f(大小写均可),以0x组成。

进制转换:

1、其他进制到十进制转换:

A:十进制———————转—————————十进制

12345————————————————12345

12345=10000+2000+300+40+5

                   =1*10^4 + 2*10^3 + 3*10^2 + 4+10^1 + 5+10^0  (10^4表示10的4次幂 ,10^0是1)

      =10000+2000+300+40+5

    =12345

位权展开法:

系数:每一个位上的数据值本身就是系数。

基数:X进制的基数就是X。

权:    我们针对每一个位上的数据进行编号,从右边,并且是从0开头编号,这个编号就是该位上数据就是该位上的数据的权值。

每一个位上的系数*基数 的 权次幂  相加。


B:二进制—————转————————十进制

  0b10101   —————转———————21

0b10101=1*2^4 + 1*2^2 + 1*2^0

           =16+4+1

                =21

C:八进制—————转————————十进制

0123——————转————————83

0123 = 1*8^2 + 2*8^1 + 3*8^0

=64+16+3

=83

D:十六进制————转————————十进制

  0x3c—————转———————— 60

           0x3c = 3*16^1 + c*16^0

     =48 + 12

     = 60


2、十进制转其他进制:除基取余,值到商为0,余数反转。

示例: 52的相应二进制、十进制、十六进制



3、8421码是国内的说法,是BCD代码中常见的一种,它的意思是每一个二进制位上的数据对应的一个固定的值,只需要把相应的1位置的数据相加,即可得到该二进制对应的十进制的值。

二进制          1             1            1             1             1              1             1           1  

十进制        128          64         32           16            8               4            2            1

二进制到十进制的转换:   1010100 = 64+16+4 = 84

十进制到二进制的转换:   100 = 0b 1100100

如果将X进制到Y进制的转换,首先将X进制转为十进制,然后将十进制转为Y进制。  将十进制做桥梁。


二进制到八进制、十六进制

A:二进制到十进制,十进制到八或十六

B:拆分组合法

0b1011001                                     八进制

方法一: 0b1011001 = 64+16+8+1

      = 89  = 0131 

89 / 8 = 11          1

11 / 8 = 1            3

  3 / 8 =  0             1

方法二:0b1011001    

001         011         001

  1              3              1





0 0
原创粉丝点击