en JavaScript Me gustaría crear el dígito binario de una gran matriz booleana (54 elementos) con el siguiente método:Javascript sumando enteros grandes
function bhash(arr) {
for (var i = 0, L = arr.length, sum = 0; i < L; sum += Math.pow(2,i)*arr[i++]);
return sum;
}
En resumen: se crea el entero más pequeño para almacenar una matriz de booleanos en. Ahora mi problema es que javascript aparentemente usa flotadores por defecto. El número máximo Tengo que crear es de 2^54-1, pero una vez Javascript llega a los 2^53 que comienza a hacer cosas raras:
9007199254740992+1 = 9007199254740994
¿Hay alguna manera de utilizar números enteros en lugar de los flotadores en javascript? O grandes sumas de enteros?
Javascript no solo usa un tipo de coma flotante como valor predeterminado, no tiene * ningún otro tipo numérico, definitivamente no es una "buena parte" del idioma. –