题目内容
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
题目思路
当n和n-1之间按位进行与运算时,可以得到是否为1的判定。
程序代码
class Solution:
def NumberOf1(self, n):
cnt = 0
if n < 0:
n = n & 0xffffffff
while n:
n = n & (n - 1)
cnt += 1
return cnt