Maison >interface Web >js tutoriel >Quel est l'entier le plus élevé que JavaScript peut représenter sans perte de précision ?
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!