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 ** 100nOutput1267650600228229401496703205376nJS BigInt
Häufige Fehler
- Mixing Number and BigInt in JS throws
- Use BigInt uniformly or convert explicitly
Verwandte Begriffe
Modular Arithmetic
Modulare Arithmetik nimmt Reste nach Ganzzahloperationen und hält Ergebnisse in [0, n); sie ist die Grundlage der Zahlentheorie und Kryptographie. GLOSSAR
Prime Number
Eine Primzahl ist eine natürliche Zahl größer als 1, die nur durch 1 und sich selbst teilbar ist; sie ist der Baustein der Zahlentheorie, und jede ganze Zahl zerfällt eindeutig in Primfaktoren. GLOSSAR
Factorial
Die Fakultät n! = n×(n-1)×...×1 ist die Grundlage von Permutationen und Kombinationen; sie wächst extrem schnell, 20! überschreitet bereits den 64-Bit-Integer-Bereich. GLOSSAR