В 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, по-видимому, использует float по умолчанию. Максимальное число, которое я должен создать, составляет 2 ^ 54-1, но как только javascript достигает 2 ^ 53, он начинает делать странные вещи:
9007199254740992+1 = 9007199254740994
Есть ли способ использовать целые числа вместо числа с плавающей точкой в javascript? Или большие целочисленные суммы?