mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 08:16:50 +08:00
Check if number is already power of two
This commit is contained in:
@ -2,10 +2,13 @@
|
||||
*
|
||||
* This script will find next power of two
|
||||
* of given number.
|
||||
* More about it:
|
||||
* https://www.techiedelight.com/round-next-highest-power-2/
|
||||
*
|
||||
*/
|
||||
|
||||
export const nextPowerOfTwo = (n) => {
|
||||
if (n > 0 && (n & (n - 1)) === 0) return n
|
||||
let result = 1
|
||||
while (n > 0) {
|
||||
result = result << 1
|
||||
|
@ -4,12 +4,12 @@ describe('NextPowerOfTwo', () => {
|
||||
it.each`
|
||||
input | result
|
||||
${0} | ${1}
|
||||
${1} | ${2}
|
||||
${2} | ${4}
|
||||
${1} | ${1}
|
||||
${2} | ${2}
|
||||
${3} | ${4}
|
||||
${5} | ${8}
|
||||
${125} | ${128}
|
||||
${1024} | ${2048}
|
||||
${1024} | ${1024}
|
||||
${10000} | ${16384}
|
||||
`('returns $result when is given $input', ({ input, result }) => {
|
||||
const res = nextPowerOfTwo(input)
|
||||
|
Reference in New Issue
Block a user