将LongBits转换为浮在python3中

时间:2019-05-09 12:26:20

标签: java python python-3.x

我正在尝试在python3中复制以下Java代码。它将long转换为float。

value = Double.longBitsToDouble(Long.parseLong("-4677979004942286848"))
> -7.812499999992895E-5

但是,在Python float()中似乎没有等效的东西。

编辑

通过在Java中调用以下代码来创建原始值。

longbits = Double.doubleToLongBits(double_value)

1 个答案:

答案 0 :(得分:3)

内置的Python库struct可以做到这一点(在您的计算机上considering the size of a long):

import struct
longint_binary = struct.pack('q', -4677979004942286848)  
struct.unpack('d', longint_binary)[0] # >> -7.812499999992895e-05