> 文档中心 > 二进制、八进制、十进制、十六进制之间相互转换的方法

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

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 }    }

英文字体下载