Java、Python、PHP 三种语言实现 二进制与十六进制的相互转换
🔁 二进制与十六进制的相互转换
🧱 Java 实现
public class BinHexConverter {// 二进制转十六进制public static String binaryToHex(String binary) {int decimal = Integer.parseInt(binary, 2);return Integer.toHexString(decimal).toUpperCase();}// 十六进制转二进制public static String hexToBinary(String hex) {int decimal = Integer.parseInt(hex, 16);return Integer.toBinaryString(decimal);}public static void main(String[] args) {String binary = "101011";String hex = "2F";System.out.println("二进制 " + binary + " → 十六进制: " + binaryToHex(binary));System.out.println("十六进制 " + hex + " → 二进制: " + hexToBinary(hex));}
}
✅ Java 示例输出
二进制 101011 → 十六进制: 2B
十六进制 2F → 二进制: 101111
🐍 Python 实现
def binary_to_hex(binary_str):decimal = int(binary_str, 2)return hex(decimal)[2:].upper()def hex_to_binary(hex_str):decimal = int(hex_str, 16)return bin(decimal)[2:]# 测试
binary = "101011"
hex_str = "2F"print(f"二进制 {binary} → 十六进制: {binary_to_hex(binary)}")
print(f"十六进制 {hex_str} → 二进制: {hex_to_binary(hex_str)}")
✅ Python 示例输出
二进制 101011 → 十六进制: 2B
十六进制 2F → 二进制: 101111
🐘 PHP 实现
<?phpfunction binaryToHex($binary) {$decimal = bindec($binary);return strtoupper(dechex($decimal));
}function hexToBinary($hex) {$decimal = hexdec($hex);return decbin($decimal);
}// 测试
$binary = "101011";
$hex = "2F";echo "二进制 $binary → 十六进制: " . binaryToHex($binary) . PHP_EOL;
echo "十六进制 $hex → 二进制: " . hexToBinary($hex) . PHP_EOL;?>
✅ PHP 示例输出
二进制 101011 → 十六进制: 2B
十六进制 2F → 二进制: 101111
📌 小结对比
功能 | Java | Python | PHP |
---|---|---|---|
二进制转十六进制 | Integer.toHexString | hex(int(..., 2)) | dechex(bindec(...)) |
十六进制转二进制 | Integer.toBinaryString | bin(int(..., 16)) | decbin(hexdec(...)) |
输出大小写控制 | .toUpperCase() | .upper() | strtoupper() |
希望对你有用