概念:称为逻辑与运算,是一种计算机位运算操作。
规则:对于两个二进制数对应位,如果都为1,则该位结果为1;反之为零。
举例:a=3,b=5,则a&b=1。
解释:a=0011,b=0101,则a&b=0001
应用举例:
1.给一个整数,如果是2的幂次方返回True反之False。
可以想象一下,如果是2的幂次方,它的二进制为只能有一个1。
代码实现:
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
if n <= 0:
return False
return (n & (n - 1)) == 0
solution = Solution()
a = solution.isPowerOfTwo(1)
print(a)
解释:
你比如: 1,2,4,8
的二进制分别为: 0001,0010,0100,1000
减1分别为0,1,3,7二级制分别为:0000,0001,0011,0111
奇数举例:
3,5的二级制分别为: 0011,0101
减1分别为2,4二进制为:0010,0100
懂了没。