java各种进制之间的相互转化
程序员文章站
2024-03-18 14:59:16
...
1. 各种进制字符串形式的相互转化
System.out.println("把2,8,16的数字的字符串形式,转化为10进制:");
System.out.println(Integer.parseInt("10", 10));
System.out.println(Integer.parseInt("10", 2));
System.out.println(Integer.parseInt("10", 8));
System.out.println(Integer.parseInt("10", 16));
System.out.println();
System.out.println("把10进制,转化为2,8,16进制:");
System.out.println(Integer.toString(10));
System.out.println(Integer.toBinaryString(10));
System.out.println(Integer.toOctalString(10));
System.out.println(Integer.toHexString(10));
System.out.println();
把2,8,16的数字的字符串形式,转化为10进制:
10
2
8
16
把10进制,转化为2,8,16进制:
10
1010
12
a
2. 在输入输出的过程中,直接转化各种进制(注意:不能直接转化2进制,2进制需要用字符串处理)
System.out.println("把8,16进制的数字,直接打印为10进制:");
System.out.format("%d", 10).println();
System.out.format("%d", 010).println();
System.out.format("%d", 0x10).println();
System.out.println();
System.out.println("把10进制,直接打印为8,16进制,而且可以控制输出形式:");
System.out.format("%d", 10).println();
System.out.format("%o, %#o, %#4o, %#04o", 10, 10, 10, 10).println();
System.out.format("%x, %#x, %#4x, %#04x", 10, 10, 10, 10).println();
System.out.println();
把8,16进制的数字,直接打印为10进制:
10
8
16
把10进制,直接打印为8,16进制,而且可以控制输出形式:
10
12, 012, 012, 0012
a, 0xa, 0xa, 0x0a
3. 格式化输出的字符串
System.out.println("把10进制,输出为8,16进制到字符串,而且可以控制输出形式:");
String s;
System.out.println(s = String.format("%d", 10));
System.out.println(s = String.format("%o, %#o, %#4o, %#04o", 10, 10, 10, 10));
System.out.println(s = String.format("%x, %#x, %#4x, %#04x", 10, 10, 10, 10));
System.out.println();
把10进制,输出为8,16进制到字符串,而且可以控制输出形式:
10
12, 012, 012, 0012
a, 0xa, 0xa, 0x0a