二进制中1的个数
方法一:运用与运算和移位,逐个计算
class Solution:
def hammingWeight(self, n: int) -> int:
res =0
while n:
res += n & 1
n >>= 1
return res
方法二:使用n和n-1进行与运算,每次将n的最右边的1变为0
class Solution:
def hammingWeight(self, n: int) -> int:
res=0
while n :
res =res+1
n=n&(n-1)
return res
num=0b00000000000000000000000000001011
a=Solution()
b=a.hammingWeight(num)
print(b)