java各種進位制之間的相互轉化
阿新 • • 發佈:2019-02-10
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