你可以使用struct模块。
import struct
def bin_to_float(binary):
return struct.unpack('!f',struct.pack('!I', int(binary, 2)))[0]
print(bin_to_float("11000011011110001100000000000000"))
##Output -248.75
工作从。
在Python 3中把字节转换成十六进制字符串的正确方法是什么?
In [54]: bytes.fromhex('c378c000')
Out[54]: b'\xc3x\xc0\x00'
In [55]: np.frombuffer(bytes.fromhex('c378c000'), '>f4')
Out[55]: array([-248.75], dtype=float32)
np.float32
是IEEE 754格式。