javascript - 给定低位和高位,如何生成 64 位二进制补码整数?

标签 javascript python bit-manipulation

鉴于 javascript 无法保存 64 位整数,有时会将它们表示为具有以下三个键的字典:

{ 
  low:-1547376220,
  high: -1,
  unsigned: false
}

我有一个使用 javascript 生成此字典的服务。我有另一个用 python 编写的服务,它接收此数据并希望从中创建 64 位数字。有什么方法可以在 python 中做到这一点吗?也许有一个图书馆已经这样做了?

最佳答案

如果您想要签名结果,可以使用:

(high << 32) | (low & 0xffffffff)

对于未签名的结果,您可以使用:

((high & 0xffffffff) << 32) | (low & 0xffffffff)

关于javascript - 给定低位和高位,如何生成 64 位二进制补码整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46722978/

相关文章:

c++ - 什么时候以及为什么要在代码中使用位域?

c++ - 两个整数的异或可以超出界限吗?

在C中更改一个字节的4个中间位

Javascript - 奇怪的正则表达式行为

c# - 使用 WebBrowser 控件调用 InvokeScript 时的特殊情况

python - 有没有办法为 pandas groupby 对象保留每个组的子集?

python - FileNotFoundError : [Errno 2] when using sphinx and autodoc

python - python 中的巴特沃斯滤波器

javascript - 不使用 Object.create 创建具有 null 原型(prototype)的 javascript 对象

javascript - Gridstack动态创建的小部件不被拖动