def f(n):
count = 0
while n:
n &= n - 1
count += 1
return count
print(f(1111))
print(bin(1111)[2:])
程序结果:
6
10001010111
知识点:
n & n-1 用于清除n的最低位的1 n & 1 用于获取n的最低位的数
def f(n):
count = 0
while n:
n &= n - 1
count += 1
return count
print(f(1111))
print(bin(1111)[2:])
程序结果:
6
10001010111
知识点:
n & n-1 用于清除n的最低位的1 n & 1 用于获取n的最低位的数