mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 16:26:47 +08:00
15 lines
302 B
JavaScript
15 lines
302 B
JavaScript
/**
|
|
* https://handwiki.org/wiki/Binary_logarithm
|
|
* Approximate log2 using only bitwise operators
|
|
* @param {number} n
|
|
* @returns {number} Log2 approximation equal to floor(log2(n))
|
|
*/
|
|
export const logTwo = (n) => {
|
|
let result = 0
|
|
while (n >> 1) {
|
|
n >>= 1
|
|
result++
|
|
}
|
|
return result
|
|
}
|