Calculatrice de grands nombres|Addition, soustraction, multiplication et puissance sans limite de chiffres (BigInt)

Outil gratuit pour calculer avec exactitude d'énormes entiers, sans aucune erreur d'arrondi. Grâce au BigInt de JavaScript, il calcule précisément additions, soustractions, multiplications, divisions entières (quotient et reste) et puissances, même au-delà de 9 007 199 254 740 991 (2^53 − 1).

Pourquoi la précision se dégrade au-delà de 2^53

Une calculatrice classique ou le type Number de JavaScript ne peuvent plus distinguer des entiers consécutifs au-delà de 2^53 (Number.MAX_SAFE_INTEGER). BigInt permet de calculer avec exactitude même au-delà de cette limite.

Number.MAX_SAFE_INTEGER 9,007,199,254,740,991(253 − 1)
9007199254740992 + 1 Number: 9007199254740992(誤り) / BigInt: 9007199254740993(正確)

Astuces

  • Les calculatrices et tableurs classiques perdent en précision au-delà de 2^53 (environ 9 billiards), mais cet outil utilise BigInt pour calculer exactement, sans limite de chiffres.
  • La division entière (÷) affiche à la fois le quotient et le reste, pratique pour vérifier les opérations modulo utilisées en cryptographie et dans les fonctions de hachage.
  • L'exposant est plafonné à 1 000 000 par sécurité, car un exposant illimité pourrait bloquer le navigateur.
  • Vous pouvez coller des nombres avec des séparateurs de milliers (par exemple 1 234 567) : ils sont retirés automatiquement avant le calcul.
  • Cliquez sur "Insérer un exemple" pour remplir automatiquement un cas dépassant 2^53, et voir immédiatement la différence avec une calculatrice classique.

Questions fréquentes

Le type Number habituel de JavaScript est un nombre à virgule flottante double précision (IEEE 754), qui ne peut représenter en toute sécurité que les entiers jusqu'à 2^53 − 1 (9 007 199 254 740 991). Au-delà, des entiers consécutifs deviennent indiscernables et les calculs perdent en précision. Cet outil évite entièrement cette limite en utilisant le type BigInt.

Non. BigInt est un type JavaScript conçu pour ne prendre en charge que les entiers, et ne peut pas représenter de fractions. Pour les calculs comportant des décimales, utilisez plutôt notre Calculatrice classique.

Le reste correspond à A − (quotient × B), le quotient étant tronqué vers zéro. Par exemple, −7 ÷ 2 donne un quotient de −3 et un reste de −1.

Elle est utile dès qu'une calculatrice classique manque de précision : vérifier des opérations sur des clés RSA (centaines à milliers de chiffres), calculer de grandes factorielles, ou contrôler une arithmétique de précision arbitraire en programmation compétitive.

Il n'existe pas de limite fixe, mais la mémoire et la vitesse de traitement du navigateur imposent des contraintes pratiques. Les nombres de plusieurs milliers de chiffres se calculent instantanément ; les cas extrêmes (comme un exposant supérieur à 1 000 000) sont limités par sécurité.
ツールくん

Anecdote — Pourquoi les ordinateurs peinent avec les très grands nombres

La représentation numérique des ordinateurs a longtemps eu une limite stricte. Le type virgule flottante 64 bits (double précision), utilisé par défaut dans la plupart des langages de programmation, ne peut représenter en toute sécurité que les entiers jusqu'à 2^53 − 1 (9 007 199 254 740 991), car sa mantisse ne compte que 53 bits. Au-delà, des erreurs d'arrondi apparaissent dès qu'on représente de tels entiers. Notre propre outil Calculatrice possède exactement cette même limite de précision.

Les entiers de précision arbitraire (appelés "bignums") résolvent ce problème. Vers 2020, JavaScript a introduit un nouveau type nommé BigInt dans tous les grands navigateurs, permettant une arithmétique entière exacte sans autre limite de chiffres que la mémoire disponible. En interne, un bignum est stocké sous forme de blocs de chiffres, si bien que le temps de calcul augmente avec le nombre de chiffres — il existe un vrai compromis entre exactitude et vitesse.

Cette technologie est également indispensable en cryptographie. Les clés RSA, par exemple, utilisent couramment des entiers de 2048 bits (plus de 600 chiffres décimaux), et des bibliothèques de précision arbitraire sont utilisées partout dans le monde pour calculer avec exactitude les multiplications et exponentiations modulaires que ces clés exigent.

La programmation compétitive fait aussi fréquemment appel à d'énormes factorielles (100! compte 158 chiffres) ou à des termes lointains de la suite de Fibonacci. Les types numériques ordinaires accumulent des erreurs en cours de calcul, si bien que la maîtrise des bignums fait souvent la différence entre une solution correcte et une solution erronée.

→ Voir toutes les anecdotes