python 16进制数组转十进制
时间: 2023-07-01 09:19:53 浏览: 279
与二进制数组转十进制类似,你可以使用 Python 内置的 `int()` 函数,将 16 进制数组转换为十进制数。具体步骤如下:
1. 将 16 进制数组转换为字符串,可以使用 `join()` 方法。
2. 将 16 进制字符串转换为十进制数,可以使用 `int()` 函数,其中第二个参数指定原始数值的进制。
下面是一个示例代码:
```python
hex_array = [0x1, 0xA, 0xB, 0xF] # 16 进制数组
hex_string = ''.join('{:X}'.format(bit) for bit in hex_array) # 转换为 16 进制字符串
decimal_number = int(hex_string, 16) # 转换为十进制数
print(decimal_number) # 输出结果:271
```
这里假设 16 进制数组中的元素都是数字,如果有其他类型的元素,需要先进行转换。
相关问题
将十六进制数组以十进制重新存储
可以通过循环遍历每个十六进制数,使用十六进制转十进制的公式将其转换为十进制数,并将结果存储在新的数组中。具体实现代码如下:
```python
hex_arr = ["0x1A", "0x2B", "0x3C", "0x4D"]
dec_arr = []
for hex_num in hex_arr:
dec_num = int(hex_num, 16)
dec_arr.append(dec_num)
print(dec_arr)
```
输出结果为:
```
[26, 43, 60, 77]
```
其中,`int(hex_num, 16)`是将十六进制数转换为十进制数的函数。
QT十进制转16进制转字节数组
这里提供一种Python的实现方式:
```python
# 十进制数转16进制字符串
hex_str = hex(1234)[2:] # 去掉前缀0x
print(hex_str) # 输出结果:4d2
# 16进制字符串转字节数组
byte_array = bytes.fromhex(hex_str)
print(byte_array) # 输出结果:b'\x4d\x2'
```
解释一下代码:
- `hex()` 函数可以将一个十进制整数转为16进制字符串,其中 `hex_str = hex(1234)[2:]` 表示将数值1234转为16进制字符串,并去掉前缀0x。
- `bytes.fromhex()` 函数可以将一个16进制字符串转为字节数组,其中 `byte_array = bytes.fromhex(hex_str)` 表示将16进制字符串转为字节数组。
需要注意的是,字节数组是以十六进制的形式表示的,每个元素都是一个字节,所以输出结果中会出现 `\x` 的转义符。
阅读全文