BigInteger
BigInteger est un type d'entier à précision arbitraire, non limité par une taille de mot fixe, utilisé pour des calculs au-delà de la plage des entiers natifs (comme la cryptographie et la combinatoire).
Objectif
Libérer l'arithmétique entière des limites de débordement 32/64 bits et prendre en charge des nombres arbitrairement grands.
Mécanisme
Il stocke les chiffres (ou limbs) d'un grand nombre dans un tableau et implémente l'arithmétique chiffre par chiffre. La multiplication est accélérée par Karatsuba/FFT. Les implémentations incluent BigInteger de Java, int de Python (grands entiers automatiques) et BigInt de JS. Il est immuable ; les opérations renvoient de nouveaux objets.
Cas d’usage
- Arithmétique des grands nombres pour RSA
- Factorielles importantes et combinatoire
- Calcul financier exact
- Théorie des nombres et recherche sur les nombres premiers
Exemples
- entrée
2n ** 100nOutput1267650600228229401496703205376nJS BigInt
Erreurs courantes
- Mixing Number and BigInt in JS throws
- Use BigInt uniformly or convert explicitly
Termes associés
Modular Arithmetic
L'arithmétique modulaire prend les restes après les opérations entières, en gardant les résultats dans [0, n) ; c'est le fondement de la théorie des nombres et de la cryptographie. GLOSSAIRE
Prime Number
Un nombre premier est un entier naturel supérieur à 1 divisible uniquement par 1 et par lui-même ; c'est la brique élémentaire de la théorie des nombres, et tout entier se décompose de façon unique en facteurs premiers. GLOSSAIRE
Factorial
La factorielle n! = n×(n-1)×...×1 fonde les permutations et combinaisons ; elle croît extrêmement vite, 20! dépassant déjà la plage des entiers 64 bits. GLOSSAIRE