在进行二进制文件写入时,我在 python 中打包和解包二进制浮点数时遇到了一些麻烦。这是我所做的:
import struct
f = open('file.bin', 'wb')
value = 1.23456
data = struct.pack('f',value)
f.write(data)
f.close()
f = open('file.bin', 'rb')
print struct.unpack('f',f.read(4))
f.close()
我得到的结果如下:
(1.2345600128173828,)
多余的数字是怎么回事?这是一个舍入错误吗?这是如何运作的?