以下是将十六进制数转换为浮点数(中-小端)和无符号整数(大端)的示例代码:
HEX转浮点数 - 中-小端(CDAB)
import struct
def hex_to_float(hex_str):
# 将十六进制字符串转换为字节序列
bytes_data = bytes.fromhex(hex_str)
# 将字节序列按照中-小端的顺序转换为浮点数
float_data = struct.unpack('<f', bytes_data)[0]
return float_data
hex_str = "CDAB0000"
result = hex_to_float(hex_str)
print(result)
HEX转UINT32 - 大端(ABCD)
def hex_to_uint32(hex_str):
# 将十六进制字符串转换为无符号整数
uint32_data = int(hex_str, 16)
return uint32_data
hex_str = "ABCD0000"
result = hex_to_uint32(hex_str)
print(result)
请注意,上述代码中使用了Python的struct
模块来进行字节序列的转换。在hex_to_float
函数中,我们使用struct.unpack('<f', bytes_data)
将字节序列转换为浮点数。 <
表示使用小端字节序,f
表示转换为单精度浮点数。在hex_to_uint32
函数中,我们直接使用int(hex_str, 16)
将十六进制字符串转换为无符号整数。