进制介绍及进制转换

 一、进制介绍

对于整数,有四种表示方式:

1、二进制(B):逢二进一

  • 表示数字:0,1

  • 以0b或0B开头

2、八进制(O):逢八进一

  • 表示数字:0~7

  • 以数字0开头

3、十进制(D):逢十进一

  • 表示数字:0~9

4、十六进制(H):逢十六进一

  • 表示数字:0~9,A~F(10~15)

  • 以0x或0X开头

  • A~F不区分大小写



二、进制转换

1、其它进制转为十进制

1.1 二进制转十进制:

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
案例:将0b1011转成十进制

0b1011=1*2^0+1*2^1+0*1^2+1*2^3=1+2+0+8=11

1.2 八进制转十进制:

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。
案例:将0234转成十进制

0234=4*8^0+3*8^1+2*8^2=4+24+128=156

1.3 十六进制转十进制:

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。
案例:将0x23A转成十进制

0x23A=10*16^0+3*16^1+2*16^2=10+48+512=570


2、十进制转为其它进制

2.1 十进制转为二进制

规则:将该数不断除以2,直至商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
案例:将34转成二进制

34/2=17.......0

17/2=8.........1

8/2=4...........0

4/2=2...........0

2/2=1...........0

1/2=0...........1

 =>  100010  

2.2 十进制转为八进制

规则:将该数不断除以8,直至商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。
案例:将131转成八进制

131/8=16........3

16/8=2............0

2/8=0..............2

 =>  203

2.3 十进制转为十六进制

规则:将该数不断除以16,直至商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。
案例:将237转成十六进制

237/16=14..........13.....D

14/16=0..............14.....E

 =>  ED


3、二进制转换为八进制、十六进制

3.1 二进制转换为八进制

规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可。(以三当一
案例:将0b11010101转成八进制

11010101

11 => 3

010 => 2

101 => 5

 => 325

3.2 二进制转换为十六进制

规则:从低位开始,将二进制数每四位位一组,转成对应的十六进制数即可。(以四当一
案例:将0b11010101转成十六进制

11010101

1101 => 13.....D        

0101 => 5

 => D5


4、八进制、十六进制转换为二进制

4.1 八进制转换为二进制

规则:将八进制数每一位,转成对应的一个三位的二进制数即可。(以一当三)
案例:将0237转成二进制

237

2 => 010

3 => 011

7 => 111

 => 10011111

4.2 十六进制转换为二进制

规则:将十六进制数每一位,转成对应的一个四位的二进制数即可。(以一当四)
案例:将0x23B转成二进制

23B

2 => 0010

3 => 0011

B => 1011

 => 001000111011

你可能感兴趣的:(java)