La fonction Math.clz32()
renvoie le nombre de zéros de tête dans la représentation binaire sur 32 bits d'un nombre.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Syntaxe
Math.clz32(x)
Paramètres
x
- Un nombre.
Valeur retournée
Le nombre de bits à zéro en tête de la représentation binaire sur 32 bits du nombre donné.
Description
"clz32
" est un raccourci pour CountLeadingZeroes32 (en français, « compter les zéros de tête »).
Si x
n'est pas un nombre, il sera d'abord converti en nombre puis converti en un entier non signé sur 32 bits.
Si l'entier non signé sur 32 bits résultant vaut 0
, la fonction renverra 32
, car tous les bits valent 0
.
Cette fonction est particulièrement utile aux systèmes qui compilent du code JavaScript, comme Emscripten.
Exemples
Math.clz32(1) // 31
Math.clz32(1000) // 22
Math.clz32() // 32
var liste = [NaN, Infinity, -Infinity, 0, -0, null, undefined, 'machin', {}, []];
liste.every(n => Math.clz32(n) == 32); // true
Math.clz32(true) // 31
Math.clz32(3.5) // 30
Spécifications
Spécification | Statut | Commentaire |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Math.clz32' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript (ECMA-262) La définition de 'Math.clz32' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
BCD tables only load in the browser
Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une pull request sur https://github.com/mdn/browser-compat-data.