您的位置:首页 > 其它

二进制、八进制、十进制、十六进制的相互转化(超详细案例)

2016-11-14 10:15 591 查看
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)[思想:二进制 -> 十进制 -&g
4000
t; 八进制]
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 + ")");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐