Zum Inhalt springen
uencoder

BigInteger

BigInteger ist ein Ganzzahltyp mit beliebiger Genauigkeit, der nicht an eine feste Wortbreite gebunden ist, und dient Berechnungen jenseits des nativen Integerbereichs (etwa Kryptographie und Kombinatorik).

Zweck

Die Ganzzahlarithmetik von 32/64-Bit-Overflow-Grenzen befreien und beliebig große Zahlen unterstützen.

Mechanismus

Speichert die Ziffern (oder Limbs) einer großen Zahl in einem Array und implementiert die Arithmetik stellchenweise. Die Multiplikation wird mit Karatsuba/FFT beschleunigt. Implementierungen sind Javas BigInteger, Pythons int (automatische große Ganzzahlen) und JS BigInt. Der Typ ist unveränderlich; Operationen geben neue Objekte zurück.

Anwendungsfälle

  • Großzahl-Arithmetik für RSA
  • Große Fakultäten und Kombinatorik
  • Exakte Finanzberechnung
  • Zahlentheorie und Primzahlforschung

Beispiele

  • Eingabe
    2n ** 100n
    Output
    1267650600228229401496703205376n

    JS BigInt

Häufige Fehler

Mixing Number and BigInt in JS throws
Use BigInt uniformly or convert explicitly

Verwandte Begriffe

Verwandte Tools

References