java进制转换

B:二进制           D:十进制(默认不写)         O:八进制        H:十六进制

因为任意类型 + “” = 字符串类型;而Long(或Integer).valueOf(字符串)类型转换也很方便,所以就用字符串举例吧

//字符串举例
		String string2 = "111010";//二进制字符串
		String string8 = "72";//八进制字符串
		String string16 = "3a";//十六进制字符串
		String string10 = "58";//十进制字符串
	
		//二进制转十进制 返回Integer型
		System.out.println("2转10:"+Integer.parseInt(string2, 2));
		//八进制转十进制 返回Integer型
		System.out.println("8转10:"+Integer.parseInt(string8, 8));
		//十六进制转十进制 返回Integer型
		System.out.println("16转10:"+Integer.parseInt(string16, 16));
		
		
		//十进制转二进制 返回Integer型
		System.out.println("10转2:"+Integer.toBinaryString(Integer.parseInt(string10, 10)));
		//八进制转二进制 返回Integer型
		System.out.println("8转2:"+Integer.toBinaryString(Integer.parseInt(string8, 8)));
		//十六进制转二进制 返回Integer型
		System.out.println("16转2:"+Integer.toBinaryString(Integer.parseInt(string16, 16)));
		
	
	
		//十进制转八进制 返回Long型
		System.out.println("10转8:"+Long.toOctalString(Integer.parseInt(string10, 10)));
		//二进制转八进制 返回Long型
		System.out.println("2转8:"+Long.toOctalString(Integer.parseInt(string2, 2)));
		//十六进制转八进制 返回Long型
		System.out.println("16转8:"+Long.toOctalString(Integer.parseInt(string16, 16)));
		
		
	
	
		//十进制转十六进制 返回Long型
		System.out.println("10转16:"+Long.toHexString(Long.parseLong(string10,10)));
		//二进制转十六进制 返回Long型
		System.out.println("2转16:"+Long.toHexString(Long.parseLong(string2,2)));
		//八进制转十六进制 返回Long型
		System.out.println("8转16:"+Long.toHexString(Long.parseLong(string8,8)));
  • toHexString、toOctalString、toBinaryString这三个方法Long和Integer都有,大家根据返回值需要选择

输出:

2转10:58
8转10:58
16转10:58

10转2:111010
8转2:111010
16转2:111010

10转8:72
2转8:72
16转8:72

10转16:3a
2转16:3a
8转16:3a

有用就点个赞吧!!!