在Python中检查一个数是否为2的幂
假设我们有一个数字n。我们必须检查这是不是2的幂。
因此,如果输入是n = 2048,则输出将为True,因为2048是2^11。
要解决此问题,我们将按照以下步骤进行 –
- 如果n等于0,则
- 返回False
- 当(n AND (n – 1))与0相同时返回true,否则返回false
示例
让我们看一下以下实现以获得更好的理解
def solve(n):
if n == 0:
return False
return (n & (n - 1)) == 0
n = 2048
print(solve(n))
输入
2048
输出
True