给定一个整数n,判断它是否为2的次方幂。
方法:2,4,8都是2的n次幂
任何整数乘以2,都相当于向左移动了一位,而2的0次幂为1,所以2的n次幂就是1向左移动n位。这样,2的幂的特征就是二进制表示只有最高位为1,其他位均为0。二进制标下形式为:
10 100 1000
减1后与自身进行按位与,如果结果为0,表示这个数是2的n次幂
01 011 0111
结果:
10&01 = 0 100&011 = 0 1000&0111 = 0
class Solution:
def isPowerOfTwo(self, n):
"""
:type n: int
:rtype: bool
"""
return (False if n<=0 else n&(n-1)==0)
继续阅读与本文标签相同的文章
下一篇 :
阿里云招募中关村,西二旗,大望京地区开发者啦
-
Spring AOP应用场景你还不知道?这篇一定要看!
2026-05-18栏目: 教程
-
阿里云云数据库RDS如何监控、备份及克隆实例?
2026-05-18栏目: 教程
-
用CSS新属性实现特殊的图片显示效果
2026-05-18栏目: 教程
-
Java描述设计模式(12):外观模式
2026-05-18栏目: 教程
-
Effctive_java_01 阅读笔记
2026-05-18栏目: 教程
