Javascript additionnant les grands entiers

En javascript, j'aimerais créer le fichier binaire de hachage d'un grand boolean array (54 éléments) avec la méthode suivante:

function bhash(arr) {
   for (var i = 0, L = arr.length, sum = 0; i < L; sum += Math.pow(2,i)*arr[i++]); 
   return sum;
}

En bref: il crée le plus petit entier pour stocker un tableau de booléens. Maintenant, mon problème, c'est que le javascript utilise apparemment flotteurs en tant que par défaut. Le nombre maximum que j'ai créer est de 2^54-1, mais une fois que javascript atteint 2^53 il commence à faire des choses bizarres:

9007199254740992+1 = 9007199254740994

Est-il possible d'utiliser des entiers au lieu de flotteurs en javascript? Ou entier sommations?

source d'informationauteur Raven