用Python编写一个将二进制转换为十六进制的程序,即输入为二进制,输出为十六进制结果(有字母输出均用大写;不能使用Python自带函数,如hex)
时间: 2023-05-13 20:06:06 浏览: 337
以下是将二进制转换为十六进制的 Python 程序:
```
def binary_to_hex(binary):
hex_map = {
'0000': '0',
'0001': '1',
'0010': '2',
'0011': '3',
'0100': '4',
'0101': '5',
'0110': '6',
'0111': '7',
'1000': '8',
'1001': '9',
'1010': 'A',
'1011': 'B',
'1100': 'C',
'1101': 'D',
'1110': 'E',
'1111': 'F'
}
hex_string = ''
binary_length = len(binary)
# 如果二进制长度不是 4 的倍数,需要在前面补 0
if binary_length % 4 != 0:
binary = '0' * (4 - binary_length % 4) + binary
for i in range(0, binary_length, 4):
hex_string += hex_map[binary[i:i+4]]
return hex_string
binary = input('请输入二进制数:')
hexadecimal = binary_to_hex(binary)
print('转换后的十六进制数为:', hexadecimal)
```
例如,如果输入二进制数 `11010110`,程序将输出 `D6`。
阅读全文