题目描述
输入一个整数,输出该数二进制表示中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;
}
};
本文介绍了三种不同的编程语言实现方式,用于计算输入整数在二进制表示下1的个数,包括Python使用位操作和字符串方法,Java采用循环移位策略,以及C++遍历所有位的方法。
8897

被折叠的 条评论
为什么被折叠?



