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