题目
输入一个32位整数,输出该数二进制表示中1的个数。其中负数用其绝对值的补码表示。
解答
方法一
class Solution:
def Number0f1(self, n):
count = 0
for i in range(32):
count += (n >> i) & 1
return count
方法二
class Solution:
def Number0f1(self, n):
n = 0xFFFFFFFF & n
count = 0
for i in str(bin(n)):
if i == '1':
count += 1
return count