--- title: Math.clz32() slug: Web/JavaScript/Reference/Global_Objects/Math/clz32 tags: - ECMAScript6 - Experimental - Expérimental(2) - JavaScript - Math - Method - Reference - Référence(2) translation_of: Web/JavaScript/Reference/Global_Objects/Math/clz32 ---
{{JSRef("Global_Objects", "Math")}}

Сводка

Метод Math.clz32() возвращает количество ведущих нулевых битов в 32-битном двоичном представлении числа.

Синтаксис

Math.clz32(x)

Параметры

x
Число.

Описание

Название clz32 является сокращением для более длинного CountLeadingZeroes32 (ПосчтитатьВедущиеНули32).

Если значение x не является числом, оно будет сначала преобразовано в число, а потом в 32-битное беззнаковое целое число.

Если преобразованное 32-битное беззнаковое целое число равно 0, метод вернёт 32, поскольку все биты в числе равны 0.

Этот метод особенно полезен для систем, которые компилируются в JS, например, для Emscripten.

Примеры

Пример: использование метода Math.clz32()

Math.clz32(1);                // 31
Math.clz32(1000);             // 22
Math.clz32();                 // 32

[NaN, Infinity, -Infinity, 0, -0, null, undefined, 'foo', {}, []].filter(
function(n) {
  return Math.clz32(n) !== 32
});                           // []

Math.clz32(true);             // 31
Math.clz32(3.5);              // 30

Полифил

Math.clz32 = Math.clz32 || function(value) {
  value = Number(value) >>> 0;
  return value !== 0 ? 31 - Math.floor(Math.log(value + 0.5) / Math.log(2)) : 32;
};

Спецификации

Спецификация Статус Комментарии
{{SpecName('ES6', '#sec-math.clz32', 'Math.clz32')}} {{Spec2('ES6')}} Изначальное определение.

Совместимость с браузерами

{{CompatibilityTable}}
Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка {{CompatChrome("35")}} {{CompatGeckoDesktop("31")}} {{CompatNo}} {{CompatNo}} {{CompatNo}}
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка {{CompatNo}} {{CompatNo}} {{CompatGeckoMobile("31")}} {{CompatNo}} {{CompatNo}} {{CompatNo}}

Смотрите также