22 lines
618 B
Python
22 lines
618 B
Python
import struct
|
||
|
||
def hex_double_to_decimal(hex_str):
|
||
# 1. 将16进制字符串转为字节流(8字节,对应double)
|
||
byte_data = bytes.fromhex(hex_str)
|
||
|
||
# 2. 使用struct解包为双精度浮点数(大端模式)
|
||
# >d 表示大端模式、double类型
|
||
decimal_value = struct.unpack('>d', byte_data)[0]
|
||
|
||
return decimal_value
|
||
|
||
# 输入你提供的16进制double数据
|
||
#hex_input = "4071f0f0a49d7f87"
|
||
hex_input = "40523c3d6d8b0464"
|
||
|
||
# 转换
|
||
result = hex_double_to_decimal(hex_input)
|
||
|
||
# 输出结果
|
||
print(f"十六进制double: {hex_input}")
|
||
print(f"转换后的十进制: {result}") |