Maison >interface Web >js tutoriel >Quel est l'entier le plus élevé que JavaScript peut représenter sans perte de précision ?

Quel est l'entier le plus élevé que JavaScript peut représenter sans perte de précision ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 06:15:09930parcourir

What's the Highest Integer JavaScript Can Represent Without Losing Precision?

La valeur entière la plus élevée de JavaScript sans perte de précision

La capacité de JavaScript à représenter des entiers est limitée par la représentation des nombres dans le langage.

Type de numéro

Le Le type Number omniprésent en JavaScript est un nombre à virgule flottante de 64 bits basé sur IEEE 754. La plus grande valeur intégrale exacte que ce type peut représenter sans perte de précision est Number.MAX_SAFE_INTEGER.

2<sup>53</sup> - 1 = 9,007,199,254,740,991

Type BigInt

Pour les entiers supérieurs à Number.MAX_SAFE_INTEGER, JavaScript fournit le BigInt type, qui ne contient pas de limite supérieure.

Opérateurs au niveau du bit

Notez que les opérateurs au niveau du bit et les opérateurs de décalage fonctionnent sur des entiers de 32 bits, ce qui donne un entier de sécurité maximum différent :

2<sup>31</sup> - 1 = 2,147,483,647

Comparaison

Sûr les entiers (ceux inférieurs à Number.MAX_SAFE_INTEGER) peuvent être correctement comparés à l'aide d'opérateurs d'égalité :

const x = 9007199254740992;
const y = -x;

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

Cependant, les comparaisons d'entiers supérieurs à Number.MAX_SAFE_INTEGER peuvent produire des résultats inattendus.

Clé À retenir

Pour une représentation et une comparaison précises de grands entiers, utilisez BigInt. Pour les entiers plus petits, le type Number est suffisant, mais soyez conscient de la valeur entière maximale sûre pour les opérations au niveau du bit.

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!

Déclaration:
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