如何判断一个数是否是2的倍数
时间: 2023-06-07 22:08:32 浏览: 361
可以通过对该数进行二进制与运算来判断,即将该数的二进制表示的最低位与1进行与运算,如果结果为1,则不是2的倍数,否则是2的倍数。具体实现可以使用以下代码:
```python
def isPowerOfTwo(num):
return num > 0 and (num & (num-1)) == 0
```
其中,`&` 表示二进制与运算,`num & (num-1)` 的结果就是将 `num` 的二进制表示的最低位的1变为0之后的数。如果 `num` 是2的倍数,那么它的二进制表示中只有一位是1,所以将这个1变为0之后得到的数就是0,因此 `num & (num-1)` 的结果就是0;否则,`num` 的二进制表示中至少有两位是1,那么将其中一位变为0之后得到的数就不是0,因此 `num & (num-1)` 的结果就不是0。