wimu: Große Zahlen in Javascript

Beitrag lesen

Hallöle,

ich bin gerade dabei, eine Art point-and-click-Adventure auf javascript-Basis zu programmieren. Um Spielstände abspeichern zu können, habe ich mir folgendes überlegt:

Jedes Ding, das man "aufheben" und in sein "Inventar" legen kann, erhält eine ID, bestehend aus einer Primzahl. Gespeichert wird nun das Produkt dieser IDs zur basis 36 (damit die strings nicht zu lang werden) in einem cookie. "Laden" funktioniert genau umgekehrt; cookie zur basis 10 umrechnen und diese Zahl in Primfaktoren zerlegen. Funktioniert auch alles Prima, bis zur 14. Primzahl (macht 13082761331670030 bzw. 3ktg9l1zle6) und der Algorithmus zur Primfaktorzerlegung ist auch halbwegs fix. Aber ab der 15. Primzahl verrechnet sich das script bereits beim Multiplizieren und sagt, das Produkt sei 614889782588491400 statt der tatsächlichen 614889782588491410. Nun kann doch Javascript angeblich Zahlen bis ca. 1.79e+308 darstellen, aber wie weit kann Javascript ohne Rundungsfehler rechnen? Und ist meine Idee deswegen grundsätzlicher Humbug? Irgendein Tipp, wie ich das umgehen könnte?

Grüße,

WiMu