Baseline Widely available
СводкаÐеÑод Math.clz32()
возвÑаÑÐ°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ведÑÑиÑ
нÑлевÑÑ
биÑов в 32-биÑном двоиÑном пÑедÑÑавлении ÑиÑла.
Ðазвание 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;
};
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4