Packing and Unpacking binary float in python

前端 未结 2 1068
时光说笑
时光说笑 2020-12-18 02:07

I am having some trouble with packing and unpacking of binary floats in python when doing a binary file write. Here is what I have done:

import struct

f = o         


        
2条回答
  •  执念已碎
    2020-12-18 02:25

    On most platforms, Python floats are what C would call a double, but you wrote your data out as float instead, which has half the precision.

    If you were to use double, you'd have less precision loss:

    >>> data = struct.pack('d',value)
    >>> struct.unpack('d',data)
    (1.23456,)
    >>> data = struct.pack('f',value)
    >>> struct.unpack('f',data)
    (1.2345600128173828,)
    

    The float struct format offers only single precision (24 bits for the significant precision).

提交回复
热议问题