不同进制的表现形式
- 二进制 前面加0b
- 八进制 前面加0
- 十六进制 前面加0x
class Demo01{ public static void main(String[] args){ System.out.println(0b100); //4 b可大写可小写 System.out.println(0100); //64 System.out.println(0x100); //256 x可大写可小写 } }
任意进制到十进制的转换
-
十进制到十进制(为了理解)
12345 = 10000 + 2000 + 300 + 40 + 5 = 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
系数:就是每一位上的数据 基数:X进制,基数就是X 权:在右边,从0开始编号,对应位上的编号即为该位的权 结果:把系数*基数的权次幂相加即可
-
二进制到十进制
0b100 = 1*2^2 + 0 *2^1 + 0*2^0 = 4
-
八进制转十进制
0100 = 1*8^2 + 0*8^1 + 0*8^0 = 64
-
十六进制转换到十进制
0x100 = 1*16^2 + 0*16^1 + 0*16^0 = 256
十进制到任意其他进制
-
十进制转换为十进制
除基倒取余: 12345 / 10 = 1234....5 1234 / 10 = 123 ... 4 123 / 10 = 12 .... 3 12 / 10 = 1 .... 2 1 / 10 = 0 .... 1 最后结果:12345
-
十进制转换为二进制
60 / 2 = 30 .... 0 30 / 2 = 15 .... 0 15 / 2 = 7 ..... 1 7 / 2 = 3 .... 1 3 / 2 = 1 .... 1 1 / 2 = 0 .... 1 最后结果:111100
-
十进制转八进制
60 / 8 = 7 .... 4 7 / 8 = 0 ....7 最后结果:74
-
十进制转换为十六进制
60 / 16 = 3 .... 12 3 / 16 = 0 .... 3 最后结果:3c
二进制到八进制和十六进制的快速转换
ob111100 = 0b 111 100 = 074
= 0x 11 1100 = 0x3c
规律:三个二进制位组成一个八进制位,四个二进制位组成一个十六进制位