在JavaScript中,我想使用以下方法创建大型布尔数组(54个元素)的二进制哈希:
function bhash(arr) {
for (var i = 0, L = arr.length, sum = 0; i < L; sum += Math.pow(2,i)*arr[i++]);
return sum;
}
简而言之:它创建了最小的整数来存储布尔数组。现在我的问题是javascript显然使用浮点数作为默认值。我必须创建的最大数量是2 ^ 54-1,但是一旦javascript达到2 ^ 53,它就会开始做一些奇怪的事情:
9007199254740992+1 = 9007199254740994
有没有办法在JavaScript中使用整数而不是浮点数?还是大整数求和?
哔哔one
慕慕森
相关分类