Упаковка и распаковка бинарного поплавка в python

У меня возникли некоторые проблемы с упаковкой и распаковкой двоичных чисел в 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,)

Что происходит с лишними цифрами? Это ошибка округления? Как это работает?

Ответы на вопрос(1)

Ваш ответ на вопрос