w JavaScript Chciałbym tworzenia binarnych mieszania z dużą logicznej tablicy (54 elementów), za pomocą następującego sposobu:JavaScript zsumowanie duże całkowite
function bhash(arr) {
for (var i = 0, L = arr.length, sum = 0; i < L; sum += Math.pow(2,i)*arr[i++]);
return sum;
}
Krótko mówiąc, tworzy najmniejszą liczbę całkowitą zawierać tablicę of booleans in. Teraz mój problem polega na tym, że javascript domyślnie używa pływa jako jako domyślny. Maksymalna liczba muszę tworzyć wynosi 2^54-1 ale raz javascript osiągnie 2^53 to zaczyna robić dziwne rzeczy:
9007199254740992+1 = 9007199254740994
jest jakiś sposób korzystania z liczb całkowitych zamiast pływaków w javascript? Lub duże sumy całkowite?
Javascript wykorzystuje nie tylko typ zmiennoprzecinkowy jako domyślny, nie * ma * żadnego innego typu liczbowego - zdecydowanie nie jest "dobrą częścią" języka. –