0
点赞
收藏
分享

微信扫一扫

二进制、八进制、十进制、十六进制之间相互转换的方法

瑾谋 2022-03-16 阅读 45
public class Main {
    public static void main(String[] args) {
        //Integer包装类方法中的进制转换:toString(num,转换的进制数):返回一个表示该Integer值得string对象(可以指定进制基数)
        //转二进制:toBinaryString(int i)
        //转十六进制:toHexString(int i)
        //转八进制:toOctalString(int i)
                int n = 18;
                Integer.toHexString(n);
                System.out.println(n + "的二进制是:" + Integer.toBinaryString(n));
                System.out.println(n + "的八进制是:" + Integer.toOctalString(n));
                System.out.println(n + "的十六进制是:" + Integer.toHexString(n));
                System.out.println(n + "的三进制是:" + Integer.toString(n, 3));
        System.out.println("___________________________");
        //10101为21的二进制
            String s = "10101";
         //二进制,1*2^0+0*2^1+1*2^2+0*2^3+1*2^4 =1+4+16==21
        //四进制 1*4^0+0*4^1+1*4^2+0*4^3+1*4^4 =1+16+256=273
        System.out.println(Integer.parseInt(s,2));
        System.out.println(Integer.parseInt(s,4));//后面的数字表示转多少进制
        System.out.println("-----------------------------");
        //二进制转八进制
        System.out.println(Integer.toOctalString(Integer.parseInt("10011", 2)));//23
        //二进制转十进制
        int d = 1100100; System.out.println(Integer.valueOf(d+"",2));//100
        //二进制转十六进制
        System.out.println(Integer.toHexString(Integer.parseInt("0101", 2)));//5
        //十进制转二进制
        int a = 100; System.out.println(Integer.toBinaryString(a));//1100100
        //十进制转八进制
        int b = 100; System.out.println(Integer.toOctalString(b));//144
        //十进制转十六进制
        int c = 100;System.out.println(Integer.toHexString(c));//64
        //八进制转成二进制
        System.out.println(Integer.toBinaryString(Integer.valueOf("23", 8)));//10011
        //八进制转十进制
        int e = 144; System.out.println(Integer.valueOf(e+"",8));//100
        //八进制转成十六进制
        System.out.println(Integer.toHexString(Integer.valueOf("23", 8)));//13
        //十六进制转二进制
        System.out.println(Integer.toBinaryString(Integer.valueOf("5", 16)));//101
        //十六进制转成八进制
        System.out.println(Integer.toOctalString(Integer.valueOf("13", 16)));//23
        //十六进制转十进制
        int f = 64; System.out.println(Integer.valueOf(f+"",16));//100
        }
    }
举报

相关推荐

0 条评论