1. 程式人生 > >java各種進位制之間的相互轉化

java各種進位制之間的相互轉化

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