【问题标题】:How do I convert float('nan') to binary in python?如何在 python 中将 float('nan') 转换为二进制?
【发布时间】:2015-05-12 17:53:33
【问题描述】:

标题说明了一切。我知道pickle可以做到,但我真的不想打开文件只是为了转换一个数字。我想使用 float('nan') 并以二进制格式通过网络发送。

【问题讨论】:

    标签: python binary floating-point nan


    【解决方案1】:
    >>> import struct
    >>> struct.pack('d', float('nan'))
    b'\x00\x00\x00\x00\x00\x00\xf8\x7f'
    

    如果您需要 little-endian 格式的双精度(8 字节)二进制表示。有关如何使用大端和/或单精度(4 字节)格式的所有详细信息,请参阅 https://docs.python.org/2/library/struct.html

    【讨论】:

    • 我发誓每次找到你的答案时我都会学到一些新东西。
    • @Alex,这让我很高兴,感谢分享!-)
    • 一个小调整:我建议'<d' 使用struct.pack 格式,以确保小端序。就目前而言,结果的字节顺序取决于平台。
    猜你喜欢
    • 1970-01-01
    • 2014-11-07
    • 2020-09-18
    • 2023-01-20
    • 2021-06-28
    • 2016-08-13
    • 2020-08-06
    • 1970-01-01
    • 2019-11-23
    相关资源
    最近更新 更多