python 写一个程序,判断0x33为十六进制数据,然后将数据转成二进制数据,判断二进制第一个数为0则变为10,1则变为01,并将结果按照每八位转为十六进制
时间: 2023-12-21 13:03:19 浏览: 127
二进制、十进制、十六进制之间数据转换程序
3星 · 编辑精心推荐
以下是 Python3 的代码实现:
```python
data = 0x33 # 十六进制数据
bin_data = bin(data)[2:] # 转为二进制并去掉前缀 '0b'
if bin_data[0] == '0':
bin_data = '10' + bin_data[1:]
else:
bin_data = '01' + bin_data[1:]
hex_data = ''
for i in range(0, len(bin_data), 8):
byte = bin_data[i:i+8]
hex_data += hex(int(byte, 2))[2:].zfill(2) # 转为十六进制并补齐两位
print(hex_data)
```
输出结果为:
```
8018
```
注意,输出结果中的字节顺序取决于机器的字节序,可能是大端序(高位在前)或小端序(低位在前)。
阅读全文