我正在寻找一种在JavaScript中对64位整数执行按位AND的方法.
JavaScript会将其所有双精度值转换为带符号的32位整数,以执行按位运算(详情请参见此处).
是否有任何JavaScript库可用于涉及700多个数字的计算?另外,C++中的同样的东西怎么样?
我有一个包含8个字节的缓冲区对象.现在应将这八个字节解释为64位整数.
目前我使用以下算法:
var int = buff[0];
for (var i = 1; i < buff.length; i++) {
int += (buff[i] * Math.pow(2, 8 * i));
}
console.log(int);
Run Code Online (Sandbox Code Playgroud)
这有效,但我相信有更好的方法(也许使用Uint64Array).
不幸的是我无法找到Uint16Array如何帮助我.
问候
更新:
// puts two 32bit integers to one 64bit integer
var bufInt = (buf.readUInt32BE(0) << 8) + buf.readUInt32BE(4);
Run Code Online (Sandbox Code Playgroud) 我试图在Javascript中对长数字进行按位和运算.
我已经尝试了两种解决方案(如何在长度超过32位的变量上使用javascript中的按位和?),但是对于我正在使用的数字,它都没有准确.我已经创建了一个类似的plunker来证明这个问题.
Plunkerhttp://plnkr.co/edit/awFGFKxpkmwIPpnJ06lu?p=preview
任何建议/帮助都会有很大帮助.