In Python, we can easily check if a number is a power of 2 by taking the log base 2 and seeing if the result is a whole number.

```
import math
def isPowerOfTwo(num):
if math.log(num,2).is_integer():
return True
else:
return False
print(isPowerOfTwo(2))
print(isPowerOfTwo(12))
print(isPowerOfTwo(32))
print(isPowerOfTwo(94))
#Output:
True
False
True
False
```

When working with numbers in our programs, sometimes it can be useful to be able to easily check if a number is a power of another number.

In Python, we can check if a number is a power of 2 very easily.

To check if a number is a power of 2, we take the log of that number base 2 and see if the result is a whole number.

To take the log of a number, we use the math module **log()** function. Then, to see if a number is a whole number, we use the Python float **is_integer()** function.

Below is the Python code for checking if a number is a power of 2 in Python.

```
import math
def isPowerOfTwo(num):
if math.log(num,2).is_integer():
return True
else:
return False
print(isPowerOfTwo(2))
print(isPowerOfTwo(12))
print(isPowerOfTwo(32))
print(isPowerOfTwo(94))
#Output:
True
False
True
False
```

## How to Check if A Number is a Power of Another Number in Python

For the more general case, where you want to check if a number is a power of another number, we can simply adjust our Python function to take another parameter.

Then, in a similar way to above, all we need to do is change the base of the logarithm.

Below is a Python function for you to check if a number is a power of any other number.

```
import math
def isPower(num1, num2):
if math.log(num1, num2).is_integer():
return True
else:
return False
print(isPower(2,2))
print(isPower(12,3))
print(isPower(64,4))
print(isPower(81,9))
#Output:
True
False
True
True
```

Hopefully this article has been useful for you to learn how to check if a number is a power of two in Python.

## Leave a Reply