JavaScript, lorsqu’il travaille avec des nombres, peut parfois avoir du mal à représenter correctement des valeurs très grandes ou très petites. Cependant, avec l’introduction du type BigInt dans ECMAScript 2020, une solution à ce problème est désormais disponible. BigInt est un type de données en JavaScript utilisé pour représenter des entiers très grands. Dans cet article, nous allons découvrir comment utiliser BigInt en JavaScript et pourquoi il est important.
Qu’est-ce que BigInt ?
BigInt permet de représenter les plus grands entiers possibles en JavaScript. Il est utilisé pour des nombres supérieurs à 2^53-1 (Number.MAX_SAFE_INTEGER) ou inférieurs à -2^53+1 (Number.MIN_SAFE_INTEGER). Un BigInt peut être créé en ajoutant un “n” à la fin d’un nombre ou en utilisant la fonction “BigInt()”.
const grandNombre = 1234567890123456789012345678901234567890n;
const autreGrandNombre = BigInt("9876543210987654321098765432109876543210");
Opérations Mathématiques avec BigInt
Avec le type BigInt, vous pouvez effectuer des opérations arithmétiques standards. L’addition, la soustraction, la multiplication et la division fonctionnent également avec BigInt.
const nombre1 = 1234567890123456789012345678901234567890n;
const nombre2 = 9876543210987654321098765432109876543210n;
const somme = nombre1 + nombre2;
const différence = nombre1 - nombre2;
const produit = nombre1 * nombre2;
const quotient = nombre2 / nombre1;
console.log(somme); // Résultat : 11111111111111111110111111111111111111100n
console.log(différence); // Résultat : -864197531086419753208642975310864197530n
console.log(produit); // Résultat : 12193263111263526934868788623952883390147903256800234567890123456790123456790n
console.log(quotient); // Résultat : 8n
Conversion entre BigInt et Nombres Standards
Il est possible de convertir entre BigInt et les nombres standards. Pour convertir un BigInt en nombre standard, on peut utiliser la fonction Number(). Cependant, les parties décimales seront perdues lors de cette conversion.
const grandNombre = 1234567890123456789012345678901234567890n;
const nombreStandard = Number(grandNombre);
console.log(nombreStandard); // Résultat : 1.2345678901234568e+39
Arithmétique Modulaire avec BigInt
BigInt peut également être utilisé pour des opérations d’arithmétique modulaire. Cette fonctionnalité, souvent utilisée en cryptographie et en mathématiques, est importante lorsqu’on travaille avec de grands nombres.
const grandNombre = 1234567890123456789012345678901234567890n;
const mod = 9876543210987654321098765432109876543210n;
const résultat = grandNombre % mod;
console.log(résultat); // Résultat : 2469135781357903782469135781357900000000n
Opérateurs Bitwise avec BigInt
Certains opérateurs utilisés avec les opérateurs Bitwise sur les nombres standards ne peuvent pas être utilisés avec BigInt. Cependant, les opérateurs Bitwise peuvent être utilisés avec BigInt.
const grandNombre = 1234567890123456789012345678901234567890n;
const masque = 0b1111n;
const résultat = grandNombre & masque;
console.log(résultat); // Résultat : 10n
Conclusion
BigInt est un outil utile en JavaScript pour représenter et effectuer des opérations sur des entiers très grands. Il constitue une solution importante pour ceux qui souhaitent obtenir des résultats précis lorsqu’ils travaillent avec de grands nombres. Cependant, en ce qui concerne les nombres standards, il est essentiel d’être prudent quant aux performances.