# Power of Two

Given an integer, write a function to determine if it is a power of two.

题目大意：

给定一个整数，编写函数判断它是否是2的幂。

## 解题思路：

如果一个整数是2的幂，那么它的二进制形式最高位为1，其余各位为0

等价于：n & (n - 1) = 0，且n > 0

## Python代码：

```
return n > 0 and n & (n - 1) == 0
```

```
class Solution(object):
    def isPowerOfTwo(self, n):
        """
        :type n: int
        :rtype: bool
        """
        while n and n%2==0:
            n=n/2
        if n==1:
            return True
        return False
```

```
class Solution(object):
    def isPowerOfTwo(self, n):
        """
        :type n: int
        :rtype: bool
        """
        return n>0 and (math.log10(n)/math.log10(2))%1 == 0
```
