题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
思路分析:
解法1:如果不考虑时间效率,使用除法,依次统计二进制中1的个数
/*时间复杂度大,效率低,只能处理正数,不能处理负数*/
int NumberOf(int n) {
int count = 0;
while (n)
{
if (n % 2 == 1)
count++;
n /= 2;
}
ret
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
思路分析:
解法1:如果不考虑时间效率,使用除法,依次统计二进制中1的个数
/*时间复杂度大,效率低,只能处理正数,不能处理负数*/
int NumberOf(int n) {
int count = 0;
while (n)
{
if (n % 2 == 1)
count++;
n /= 2;
}
ret