整型有4种进制形式:
1.十进制: 都是以0-9这九个数字组成,不能以0开头。
2.二进制: 由0和1两个数字组成。
3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。
public static void main(String[] args) {
System.out.println(String.format("%s %s %s %s", "十进制", "二进制", "八进制", "十六进制"));
for (int i = 0; i < 20; i++) {
String binary = Integer.toBinaryString(i);
String octal = Integer.toOctalString(i);
String hex = Integer.toHexString(i);
String decimal = String.valueOf(i);
System.out.println(String.format("%-6s %-6s %-6s %-6s", decimal, binary, octal, hex));
}
}
十进制 二进制 八进制 十六进制
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 a
11 1011 13 b
12 1100 14 c
13 1101 15 d
14 1110 16 e
15 1111 17 f
16 10000 20 10
17 10001 21 11
18 10010 22 12
19 10011 23 13
十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。
例:13/2=6 余1 -> 6/2=3 余0 -> 3/2=1 余1 -> 1/2=0 余1;结果:1101
十进制转八进制的转换原理:除以8,反向取余数,直到商为0终止。
例:19/8=2 余3 -> 2/8=0 余2;结果:23
十进制转十六进制的转换原理:除以16,反向取余数,直到商为0终止。
例:93/16=5 余13(d) -> 5/16=0 余5;结果5d
public static void main(String[] args) {
System.out.println(Integer.valueOf("1001", 2));
System.out.println(Integer.valueOf("20", 8));
System.out.println(Integer.valueOf("ff", 16));
}
9
16
255