c't 16/2019
S. 186
Know-how
Rechnen mit beliebig langen Zahlen
Aufmacherbild
Bild: Albert Hulm

Unendlich lang

BigInt: Rechnen mit beliebig großen ganzen Zahlen

JavaScript kennt eigentlich nur 64-bittige Gleitkommazahlen. Nur 53 Bit stehen für Integer-Arithmetik zur Verfügung. Mit größeren Ganzzahlen kann man also nicht rechnen. Zum Glück gibt es in modernen Browsern das BigInt-Objekt, das Arithmetik mit beliebig langen Integers erlaubt.

Eigentlich wollte ich nur ein bisschen Bit-Fiddling betreiben. Aber bei keinem der Online-Rechner, die ich gefunden habe, konnte ich für die Ein- und Ausgabe das numerische System (binär, oktal, dezimal, hexadezimal) frei wählen, ohne umständlich zwischen den Modi zu wechseln. Und keiner der Rechner erlaubte die Verwendung von Variablen, die beim Ausprobieren von Formeln ungemein hilfreich sein können.

Eine eigene Anwendung musste her, am besten eine für den Browser, damit ich sie ohne Weiteres bequem auf jeder Plattform nutzen kann. Gedacht, gemacht. Herausgekommen ist der Arbitrary Precision Calculator. Den Quellcode können Sie bei GitHub herunterladen (siehe ct.de/yy1s). Speichern Sie die Dateien einfach in ein Verzeichnis Ihrer Wahl unterhalb des Document Root Ihres Webservers – schon können Sie loslegen. Er beherrscht arithmetische und bitweise Operationen sowie ein paar Funktionen (ggT, kgV, min, max, Quadratwurzel).