Großzahlen-Rechner|Exakte Addition, Subtraktion, Multiplikation und Potenz ohne Stellenlimit (BigInt)

Kostenloses Tool für exakte Berechnungen mit riesigen ganzen Zahlen ohne Rundungsfehler. Mit JavaScript BigInt werden Addition, Subtraktion, Multiplikation, Ganzzahldivision (Quotient und Rest) und Potenzen auch oberhalb von 9.007.199.254.740.991 (2^53 − 1) exakt berechnet.

Warum die Genauigkeit oberhalb von 2^53 versagt

Ein gewöhnlicher Taschenrechner oder der Number-Typ von JavaScript kann benachbarte ganze Zahlen oberhalb von 2^53 (Number.MAX_SAFE_INTEGER) nicht mehr unterscheiden. Mit BigInt lässt sich auch jenseits dieser Grenze exakt rechnen.

Number.MAX_SAFE_INTEGER 9,007,199,254,740,991(253 − 1)
9007199254740992 + 1 Number: 9007199254740992 (falsch) / BigInt: 9007199254740993 (exakt)

Was exaktes Rechnen mit großen ganzen Zahlen bedeutet

Ein gewöhnlicher Rechner und der Zahlentyp der meisten Programmiersprachen – darunter JavaScripts Number – können ganze Zahlen jenseits von 2^53 − 1 (9.007.199.254.740.991) nicht mehr exakt halten; ab da schleicht sich mit wachsender Stellenzahl Rundungsfehler ein. Exaktes Rechnen mit großen ganzen Zahlen heißt, diese Grenze zu überschreiten und Addition, Subtraktion, Multiplikation, Division und Potenzierung mit beliebig vielen Stellen fehlerfrei auszuführen.

Dieses Werkzeug rechnet mit dem BigInt-Typ von JavaScript, sodass es praktisch keine Obergrenze für die Stellenzahl gibt: Ganze Zahlen mit mehreren hundert Stellen, wie sie in Kryptografie und Wettbewerbsprogrammierung vorkommen, kommen exakt zurück. Die ganzzahlige Division zeigt Quotient und Rest zusammen, und weil Potenzen sehr rasch gewaltig werden, gilt für den Exponenten eine sichere Obergrenze.

So verwenden Sie den Rechner

  1. Erste ganze Zahl (A) eingeben Tragen Sie die Zahl ein, mit der Sie rechnen möchten. Tausendertrennzeichen werden selbsttätig entfernt, wenn Sie sie stehen lassen.
  2. Operator wählen Wählen Sie Addition, Subtraktion, Multiplikation, ganzzahlige Division (Quotient und Rest) oder Potenzierung.
  3. Zweite ganze Zahl (B) eingeben Geben Sie den anderen Operanden an. Bei der Potenzierung ist B der Exponent.
  4. Ergebnis ablesen Ergebnis und Stellenzahl aktualisieren sich während der Eingabe. Bei ganzzahliger Division erscheinen Quotient und Rest gemeinsam.

Tipps für die Nutzung

  • Gewöhnliche Taschenrechner und Tabellenkalkulationen verlieren oberhalb von 2^53 (rund 9 Billiarden) an Genauigkeit — dieses Tool nutzt BigInt und rechnet ohne Stellenlimit exakt.
  • Bei der Ganzzahldivision (÷) werden Quotient und Rest gleichzeitig angezeigt, praktisch zum Nachrechnen von Modulo-Operationen aus Kryptographie und Hash-Funktionen.
  • Der Exponent ist aus Sicherheitsgründen auf 1.000.000 begrenzt, da ein unbegrenzter Exponent den Browser einfrieren lassen könnte.
  • Zahlen mit Tausendertrennzeichen (z. B. 1.234.567) können direkt eingefügt werden — sie werden vor der Berechnung automatisch entfernt.
  • Mit "Beispiel einfügen" wird automatisch ein Beispiel eingesetzt, das über 2^53 hinausgeht, sodass der Unterschied zu einem gewöhnlichen Rechner sofort sichtbar wird.

Wofür sich das eignet

Kryptografische Rechnungen prüfen

Hilfreich beim Lernen und Nachrechnen von Verfahren wie der RSA-Schlüsselerzeugung, die Arithmetik auf Zahlen mit mehreren hundert bis mehreren tausend Stellen erfordern.

Antworten in der Wettbewerbsprogrammierung überprüfen

Bestätigen Sie rasch die erwarteten Ergebnisse von Aufgaben mit beliebig langen ganzen Zahlen, etwa großen Fakultäten oder entfernten Gliedern der Fibonacci-Folge.

Fehler in großen Zahlenwerten aufspüren

Prüfen Sie, ob ein in einer Tabellenkalkulation oder mit einem gewöhnlichen Rechner ermitteltes Ergebnis jenseits von 2^53 in den Rundungsfehler abgedriftet ist, indem Sie es mit dem exakten Wert vergleichen.

Mathematik lernen und erkunden

Sehen Sie selbst, wie Potenzen und Reste vielstelliger Zahlen anwachsen – anhand tatsächlicher Werte statt bloßer Beschreibungen.

Begriffe zu großen ganzen Zahlen

BigInt
Der JavaScript-Datentyp, um ganze Zahlen unbegrenzter Länge exakt zu behandeln. Anders als der gewöhnliche Number-Typ rechnet er auch jenseits von 2^53 fehlerfrei.
Langzahlarithmetik (bignum)
Ein Verfahren, ganze Zahlen jenseits des von einem Rechner nativ beherrschten Bereichs ohne Stellenbegrenzung darzustellen. Intern werden die Stellen als Feld verwaltet und auf dieser Grundlage berechnet.
Number.MAX_SAFE_INTEGER
Die größte ganze Zahl, die JavaScripts Number-Typ sicher und fehlerfrei hält: 2^53 − 1, also 9.007.199.254.740.991. Darüber hinaus lassen sich benachbarte ganze Zahlen nicht mehr unterscheiden.
Ganzzahlige Division
Eine Division ohne Bruchanteil, deren Ergebnis in Quotient – den ganzen Teil – und Rest zerfällt. Sind negative Zahlen im Spiel, wird der Quotient in Richtung null abgeschnitten.
RSA
Ein Public-Key-Verfahren, das das Produkt zweier großer Primzahlen als Schlüssel verwendet. Rechnen mit 2048-Bit-Zahlen, also über 600 Dezimalstellen, ist alltäglich, weshalb Langzahlarithmetik unentbehrlich ist.

Häufig gestellte Fragen

Der normale JavaScript-Typ Number ist eine Gleitkommazahl doppelter Genauigkeit nach IEEE 754, die ganze Zahlen nur bis 2^53 − 1 (9.007.199.254.740.991) sicher darstellen kann. Darüber hinaus lassen sich benachbarte ganze Zahlen nicht mehr unterscheiden, und Berechnungen verlieren an Genauigkeit. Dieses Tool umgeht diese Grenze vollständig, indem es den Typ BigInt verwendet.

Nein. BigInt ist als JavaScript-Typ bewusst nur für ganze Zahlen ausgelegt und kann keine Brüche darstellen. Für Berechnungen mit Dezimalstellen nutzen Sie bitte unseren gewöhnlichen Rechner.

Der Rest ergibt sich aus A − (Quotient × B), wobei der Quotient in Richtung null abgeschnitten wird. Zum Beispiel ergibt −7 ÷ 2 den Quotienten −3 und den Rest −1.

Er ist immer dann nützlich, wenn gewöhnliche Rechner nicht genau genug sind: zum Nachrechnen von RSA-Schlüsseloperationen (hunderte bis tausende Stellen), zur Berechnung großer Fakultäten oder zur Überprüfung von Berechnungen mit beliebiger Genauigkeit im Wettbewerbsprogrammieren.

Es gibt keine feste Obergrenze, aber der Arbeitsspeicher und die Rechengeschwindigkeit des Browsers setzen praktische Grenzen. Zahlen mit tausenden Stellen werden sofort berechnet; Extremfälle (etwa ein Exponent über 1.000.000) sind aus Sicherheitsgründen begrenzt.
Tool-kun

Übrigens – Warum Computer mit riesigen Zahlen zu kämpfen haben

Die Zahlendarstellung in Computern hatte lange eine feste Grenze. Der standardmäßig in den meisten Programmiersprachen verwendete 64-Bit-Gleitkommatyp (doppelte Genauigkeit) kann ganze Zahlen nur bis 2^53 − 1 (9.007.199.254.740.991) sicher darstellen, da seine Mantisse lediglich 53 Bit umfasst. Darüber hinaus entstehen bei der Darstellung solcher ganzen Zahlen Rundungsfehler. Auch unser eigenes Rechner-Tool unterliegt genau dieser Genauigkeitsgrenze.

Ganze Zahlen mit beliebiger Genauigkeit (sogenannte "Bignums") lösen dieses Problem. Um 2020 herum führte JavaScript den neuen Typ BigInt in allen wichtigen Browsern ein, mit dem exakte Ganzzahlarithmetik ohne Stellenlimit — begrenzt nur durch den verfügbaren Speicher — möglich ist. Intern wird eine Bignum als Folge von Ziffernblöcken gespeichert, sodass die Rechenzeit mit der Stellenzahl wächst — ein echter Kompromiss zwischen Exaktheit und Geschwindigkeit.

Diese Technik ist auch in der Kryptographie unverzichtbar. RSA-Schlüssel etwa verwenden häufig 2048-Bit-Zahlen (über 600 Dezimalstellen), und weltweit werden Bibliotheken für beliebige Genauigkeit eingesetzt, um die dafür nötigen Multiplikationen und modularen Potenzierungen korrekt auszuführen.

Auch im Wettbewerbsprogrammieren kommen häufig riesige Fakultäten (100! hat 158 Stellen) oder weit entfernte Glieder der Fibonacci-Folge vor. Gewöhnliche Zahlentypen sammeln dabei mitten in der Berechnung Fehler an, weshalb der sichere Umgang mit Bignums oft über richtig oder falsch entscheidet.