Aller au contenu
uencoder

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 ** 100n
    Output
    1267650600228229401496703205376n

    JS BigInt

Erreurs courantes

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

Termes associés

Outils associés

References