public class RadixExchange {
public static void main(String[] args) {
// decimalToSomeRadix(); //十进制向二进制、八进制、十六进制转换
// someRadixToDecimal(); //二进制、八进制、十六进制向十进制转换
someRadixToOtherRadix(); //二进制、八进制、十六进制相互转换
}
public static void decimalToSomeRadix () {
// 1. 十进制(decimal)转换为二进制(binary)
System.out.println("十进制 (20) -> 二进制 (" + Integer.toBinaryString(20) + ")");
// 2. 十进制(decimal)转化为八进制(octal)
System.out.println("十进制 (20) -> 八进制 (" + Integer.toOctalString(20) + ")");
// 3. 十进制(decimal)转化为十六进制(hexadecimal)
System.out.println("十进制 (20) -> 十六进制 (" + Integer.toHexString(20) + ")");
}
public static void someRadixToDecimal() {
// 1. 二进制(binary)转化为十进制(decimal)
System.out.println("二进制 (110) -> 十进制 (" + Integer.valueOf("110", 2) + ")");
// 2. 八进制(octal)转化为十进制(decimal)
System.out.println("八进制 (034) -> 十进制 (" + Integer.valueOf("34", 8) + ")");
// 3. 十六进制(hexadecimal)转化为十进制(decimal)
System.out.println("十六进制 (0x4a, 0X4a) -> 十进制 (" + Integer.valueOf("4a", 16) + ")");
}
public static void someRadixToOtherRadix() {
//1. 二进制(binary)转化为八进制(hexadecimal)[思想:二进制 -> 十进制 -> 八进制]
int binToDec = Integer.valueOf("10101", 2);
String decToOct = Integer.toOctalString(binToDec);
System.out.println("二进制 (10110) -> 八进制 (" + decToOct + ")");
//2. 二进制(binary)转化为十六进制(octal)[思想:二进制 -> 十进制 -> 十六进制]
int binToDec02 = Integer.valueOf("10101", 2);
String decToHex = Integer.toHexString(binToDec);
System.out.println("二进制 (10110) -> 十六进制 (" + decToHex + ")");
//3. 八进制(octal)转化为二进制(binary)[思想:八进制 -> 十进制 -> 二进制]
int octToDec = Integer.valueOf("31", 8);
String decToBin = Integer.toBinaryString(octToDec);
System.out.println("八进制 (031) -> 二进制 (" + decToBin + ")");
//4. 十六进制(hexadecimal)转化为二进制(binary)[思想:十六进制 -> 十进制 -> 二进制]
int hexToDec = Integer.valueOf("8a", 16);
String decToBin02 = Integer.toBinaryString(hexToDec);
System.out.println("十六进制 (0x8a, 0X8a) -> 二进制 (" + decToBin02 + ")");
//5. 八进制(octal)转化为十六进制(hexadecimal) [八进制 -> 十进制 -> 十六进制]
int octToDec02 = Integer.valueOf("31", 8);
String decToHex02 = Integer.toHexString(octToDec02);
System.out.println("八进制 (031) -> 十六进制 (" + decToHex02 + ")");
//6. 十六进制(hexadecimal)转化为八进制(octal)[八进制 -> 十进制 -> 十六进制]
int hexToDec02 = Integer.valueOf("19", 16);
String decToOct02 = Integer.toOctalString(hexToDec02);
System.out.println("十六进制 (0x19, 0X19) -> 八进制 (" + decToOct02 + ")");
}
}
二进制、八进制、十进制、十六进制的相互转化(超详细案例)
最新推荐文章于 2021-07-18 22:17:49 发布