Math.clz32()

Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.

Сводка

Метод 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;
};

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

Спецификация Статус Комментарии
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'Math.clz32' в этой спецификации.
Стандарт Изначальное определение.

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

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка 35 31 (31) Нет Нет Нет
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка Нет Нет 31.0 (31) Нет Нет Нет

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

Метки документа и участники

 Внесли вклад в эту страницу: Yaffle, Mingun
 Обновлялась последний раз: Yaffle,