From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/global_objects/math/clz32/index.html | 140 +++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 files/ru/web/javascript/reference/global_objects/math/clz32/index.html (limited to 'files/ru/web/javascript/reference/global_objects/math/clz32') diff --git a/files/ru/web/javascript/reference/global_objects/math/clz32/index.html b/files/ru/web/javascript/reference/global_objects/math/clz32/index.html new file mode 100644 index 0000000000..127ae43179 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/math/clz32/index.html @@ -0,0 +1,140 @@ +--- +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}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("35")}}{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("31")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ + -- cgit v1.2.3-54-g00ecf