【发布时间】:2017-12-11 23:00:21
【问题描述】:
我遇到了问题,我想将二进制数转换为双精度数。
经过一些搜索,我找到了一些方法,但我仍然遇到问题,我可以投射“小”数字但不能投射大数字(双精度),这是我的示例代码:
print unpack( "d", pack( "q", 4631069437225598976 ) )[ 0 ]
print unpack( "d", pack( "q", 13829563286724542464 ) )[ 0 ]
第一个没有问题,但下一个崩溃了,描述错误。
第一个数字应该是:41.7274732 第二个应该是:-0.8899581
有什么想法吗?
非常感谢
【问题讨论】:
-
我已经找到了一种解决方案(不确定是否是最好的): print unpack( ">d", binascii.unhexlify( "BFEC7A8980000000" ) )[0]
标签: python struct casting double