Hex为浮动,float为十六进制



我找不到十六进制到浮点值转换的工作答案。从这个将浮点数转换为十六进制浮点数到十六进制的答案开始,你知道我如何将相同的十六进制转换为原始浮点数吗?

同样的事情,但反过来:

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_hexdouble_to_hex来自这个答案)

最新更新