BigInt : méthode statique asUintN() - JavaScript | MDN
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2020.
La méthode statique BigInt.asUintN() tronque une valeur BigInt au nombre donné de bits les moins significatifs et retourne cette valeur sous la forme d'un entier qui n'est pas signé.
Exemple interactif
const U64_CEIL = 2n ** 64n;
console.log(BigInt.asUintN(64, U64_CEIL - 1n));
// 18446744073709551615n (2n ** 64n - 1n, le maximum sans dépassement)
console.log(BigInt.asUintN(64, U64_CEIL));
// 0n (retour à zéro)
console.log(BigInt.asUintN(64, U64_CEIL + 1n));
// 1n
console.log(BigInt.asUintN(64, U64_CEIL * 2n));
// 0n (retour à zéro sur les multiples)
console.log(BigInt.asUintN(64, U64_CEIL * -42n));
// 0n (retour à zéro sur les multiples négatifs)
Syntaxe
js
BigInt.asUintN(bits, bigint)
Paramètres
Valeur de retour
La valeur de bigint modulo 2 ** bits comme entier qui n'est pas signé.
Exceptions
RangeError-
Levée si
bitsest négatif ou supérieur à 253 - 1.
Description
La méthode BigInt.asUintN tronque une valeur BigInt au nombre de bits donné et interprète le résultat comme un entier qui n'est pas signé. Les entiers qui ne sont pas signés n'ont pas de bits de signe et sont toujours positifs. Par exemple, pour BigInt.asUintN(4, 25n), la valeur 25n est tronquée à 9n :
25n = 00011001 (base 2)
^==== On ne garde que les quatre bits restants
===> 1001 (base 2) = 9n
Note :
Les valeurs BigInt sont toujours codées en binaire selon le complément à deux.
Contrairement aux API de langages similaires comme Number.prototype.toExponential(), asUintN est une propriété statique de BigInt, donc vous l'utilisez toujours comme BigInt.asUintN(), plutôt que comme une méthode d'une valeur BigInt. Exposer asUintN() comme « fonction de la bibliothèque standard » permet l'interopérabilité avec asm.js (angl.).
Exemples
Rester dans les plages 64 bits
La méthode BigInt.asUintN() peut s'avérer utile pour rester dans une arithmétique exprimée sur 64 bits.
js
const max = 2n ** 64n - 1n;
BigInt.asUintN(64, max); // 18446744073709551615n
BigInt.asUintN(64, max + 1n); // 0n
// zéro en raison du dépassement
Spécifications
| Spécification |
|---|
| ECMAScript® 2026 Language Specification # sec-bigint.asuintn |
Compatibilité des navigateurs
Voir aussi
- La valeur
BigInt - La méthode statique
BigInt.asIntN()
Aider à améliorer MDN
Cette page a été modifiée le par les contributeur·ice·s du MDN.