Maison > interface Web > js tutoriel > Quelles sont les limites du type numérique de JavaScript et comment BigInt y répond-il ?

Quelles sont les limites du type numérique de JavaScript et comment BigInt y répond-il ?

Mary-Kate Olsen
Libérer: 2024-12-20 15:35:10
original
557 Les gens l'ont consulté

What are the Limits of JavaScript's Number Type and How Does BigInt Address Them?

Limites numériques de JavaScript : précision et échelle

La capacité de JavaScript à représenter des valeurs numériques a des limites. Comprendre ces limites est crucial pour éviter les inexactitudes ou les comportements inattendus dans les applications.

Type de numéro

JavaScript a deux types numériques : Number et BigInt. Le type Nombre, représenté par un nombre IEEE 754 à virgule flottante de 64 bits, est couramment utilisé pour les opérations arithmétiques.

Entier maximum sûr

La plus grande valeur entière qui un nombre peut représenter sans perdre en précision est Number.MAX_SAFE_INTEGER, ce qui équivaut à à :

  • 253-1
  • /- 9,007,199,254,740,991
  • Neuf quadrillions sept billions cent quatre-vingt-dix-neuf milliards deux cent cinquante- quatre millions sept cent quarante mille neuf cents quatre-vingt-onze

BigInt

Pour gérer des valeurs entières extrêmement grandes, JavaScript propose le type BigInt. Contrairement à Number, BigInt n'a pas de limite supérieure prédéfinie.

Opérateurs au niveau du bit et par décalage

Il est important de noter que les opérateurs au niveau du bit et par décalage fonctionnent sur des entiers de 32 bits. En tant que tel, l'entier maximum sûr pour ces opérateurs est 231-1 ou 2 147 483 647.

Exemple

Le code JavaScript suivant démontre les limitations du type Nombre de JavaScript :

const x = 9007199254740992;
const y = -x;

console.log(x == x + 1); // true
console.log(y == y - 1); // also true

// Arithmetic operators work, but bitwise/shifts only operate on int32:
console.log(x / 2); // 4503599627370496
console.log(x >> 1); // 0
console.log(x | 1); // 1
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal