题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
Python实现
# -*- coding:utf-8 -*-
class Solution:
def NumberOf1(self, n):
cnt = 0
if n < 0:
n = n & 0xffffffff
return bin(n).count('1')
# write code here
Java实现
public class Solution {
public int NumberOf1(int n)
{
int count = 0;
while (n != 0)
{
++count;
n = (n - 1) & n;
}
return count;
}
}
C++实现
class Solution {
public:
int NumberOf1(int n) {
int count=0;
for(int i=0;i<32;i++){
if(n>>i&1)
count++;
}
return count;
}
};