You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

13 lines
461 B
Ruby

#Given a number,check if it is power of 2 or not without using division or modulo operator.
#Algorithm: For any power of 2,say x, the bitwise and of x and x-1 is always 0.
#e.g. 64 = 1000000, 63= 0111111 now 1000000&0111111==0000000
def check_power(x)
if x&(x-1)==0
print "#{x} is power of two"
else
print "#{x} is not power of two"
end
end
check_power(126) # => 126 is not power of two
check_power(1024) # => 1024 is power of two