我找不到十六进制到浮点值转换的工作答案。从这个将浮点数转换为十六进制浮点数到十六进制的答案开始,你知道我如何将相同的十六进制转换为原始浮点数吗?
同样的事情,但反过来:
import struct
def float_to_hex(f):
return hex(struct.unpack('<I', struct.pack('<f', f))[0])
def hex_to_float(h):
return struct.unpack('<f', struct.pack('<I', int(h, 16)))[0]
def double_to_hex(f):
return hex(struct.unpack('<Q', struct.pack('<d', f))[0])
def hex_to_double(h):
return struct.unpack('<d', struct.pack('<Q', int(h, 16)))[0]
(注意:Python 3不将L
添加到long。float_to_hex
和double_to_hex
来自这个答案)