题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
# -*- coding:utf-8 -*-
class Solution:
def NumberOf1(self, n):
if n >= 0:
bina = bin(n)
count = bina.count('1')
return count
else:
bina = bin(abs(n) - 1)
count = 32 - bina.count('1')
return count
def NumberOf1(n):
count = 0
for i in range(32):
count += (n >> i)&1
return count
# -*- coding:utf-8 -*-
class Solution:
def NumberOf1(self, n):
# write code here
return sum([(n>>i & 1) for i in range(0,32)])
另: 负数二进制表示方法