请生成一段判断n是否为2的幂次方代码
时间: 2024-04-12 17:30:09 浏览: 19
当判断一个数n是否为2的幂次方时,可以使用位运算来实现。以下是一段判断的示例代码:
```python
n = int(input())
def is_power_of_two(num):
return num & (num - 1) == 0 and num != 0
if is_power_of_two(n):
print("n是2的幂次方")
else:
print("n不是2的幂次方")
```
在这段代码中,`is_power_of_two`函数会检查给定的数是否满足两个条件:它与自身减1的按位与结果为0,并且它不等于0。如果满足这两个条件,则说明该数是2的幂次方。否则,它不是2的幂次方。
希望这段代码能够帮助到你! 如果还有其他问题,请随时告诉我。
相关问题
写一段C++代码判断n是否是2的幂次方
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int i;
int flag = 0;
for (i = 0; i < n; i++)
{
if (n == (1 << i))
{
flag = 1;
break;
}
}
if (flag == 1)
{
printf("是2的幂次方");
}
else
{
printf("不是2的幂次方");
}
return 0;
}
编写一个python代码判断一个数是否为2的幂次方
好的,这个问题很简单,可以使用以下代码进行判断:
```python
def is_power_of_two(num):
if num <= 0:
return False
while num > 1:
if num % 2 != 0:
return False
num = num // 2
return True
```
这个函数会接收一个整数作为参数,然后判断这个数是否为2的幂次方,如果是则返回True,否则返回False。