如何在给定低位和高位的情况下生成一个64位二进制补码整数?
问题描述:
由于JavaScript不能容纳64个整数,有时它代表了他们为以下三个键的字典:如何在给定低位和高位的情况下生成一个64位二进制补码整数?
{
low:-1547376220,
high: -1,
unsigned: false
}
我有使用javascript产生本词典的服务。我有另外一个用python编写的服务来接收这些数据,并想从中创建64位数字。有什么办法可以在Python中做到这一点?也许一个库已经这样做了?
答
如果你想要一个签名的结果,你可以使用:
(high << 32) | (low & 0xffffffff)
对于一个无符号的结果,你可以使用:
((high & 0xffffffff) << 32) | (low & 0xffffffff)