#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
//法一:
int han(int a)
{
int count = 0;
while (a)
{
if (a % 2 == 1)
count++;
a = a / 2;
}
return count;
}
int main()
{
unsigned int input = 0;
printf("请输入一个数");
scanf("%d", &input);
int count = han(input);
printf("%d\n", count);
system("pause");
return 0;
}
//法二:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int input = 0;
printf("请输入一个数字");
scanf("%d", &input);
int count = 0;
while (input)
{
count++;
input = input&(input - 1);
}
printf("%d\n", count);
system("pause");
return 0;
}