In Javascript Ich mag den binären Hash eines großen boolean-Array (54 Elemente) mit dem folgende Verfahren erzeugen:Javascript Summieren große ganze Zahlen
function bhash(arr) {
for (var i = 0, L = arr.length, sum = 0; i < L; sum += Math.pow(2,i)*arr[i++]);
return sum;
}
Kurz gesagt: Es wird kleinste ganze Zahl, um ein Array zu speichern, von Booleans in. Jetzt ist mein Problem, dass Javascript anscheinend Schwimmer als Standard verwendet. Die maximale Anzahl I erstellen müssen, ist 2^54-1, aber sobald Sie Javascript 2^53 erreicht es seltsame Dinge beginnt zu tun:
9007199254740992+1 = 9007199254740994
Gibt es eine Möglichkeit von ganzen Zahlen anstelle von Schwimmern in Javascript verwenden? Oder große ganzzahlige Summierungen?
Javascript verwendet nicht nur einen Gleitkommatyp als Standard, es hat * keinen * anderen numerischen Typ - dezidiert kein "guter Teil" der Sprache. –