Power of two?
Check if number is a power of 2
16 return true
15 return false
Solution: Bit wise comparison
num = 0b 0001 0000
num - 1 = 0b 0000 1111
num & num 1 == 0b 0000 0000
num not power2 = 0b 0001 0100
num - 1 = 0b 0001 0011
num not power2 & num - 1 == 0b 0001 0000
Last updated
Was this helpful?