9

バイナリ ファイルの書き込みを行うときに、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,)

余分な桁はどうなっていますか?これは丸め誤差ですか?これはどのように作動しますか?

4

2 に答える 2