class Solution:
def NumberOf1(self, n):
# write code here
# 补码:正数不变,负数是它的正数的反码加一
# n & 0xFFFFFFFF
# way 1
'''
count = 0
for i in str(bin(n)):
if i == '1':
count += 1
return count
'''
# way 2
'''
count = 0
for i in range(32):
mask = 1 << i
if n & mask != 0:
count += 1
return count
'''
# way 3
count = 0
while n:
n = n & (n-1)
count += 1
n = n & 0xFFFFFFFF
return count
京公网安备 11010502036488号