--- title: Math.clz32() slug: Web/JavaScript/Reference/Global_Objects/Math/clz32 tags: - ECMAScript 2015 - JavaScript - Math - Méthode - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/Math/clz32 original_slug: Web/JavaScript/Reference/Objets_globaux/Math/clz32 ---
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 !
Math.clz32(x)
x
Le nombre de bits à zéro en tête de la représentation binaire sur 32 bits du nombre donné.
"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.
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écification | Statut | Commentaire |
---|---|---|
{{SpecName('ES2015', '#sec-math.clz32', 'Math.clz32')}} | {{Spec2('ES2015')}} | Définition initiale. |
{{SpecName('ESDraft', '#sec-math.clz32', 'Math.clz32')}} | {{Spec2('ESDraft')}} |
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.
{{Compat("javascript.builtins.Math.clz32")}}