第一种方法
#include<stdio.h>
int b(int unsigned a)
{
int count = 0;
while (a)
{
if (a % 2 == 1)
{
count++;
}
a = a / 2;
}
return count;
}
int main()
{
int count = 0;
int ret = 0;
int a = 0;
scanf("%d", &a);
ret=b(a);
printf("%d",ret);
system("pause");
return 0;
}
第二种方法
#include<stdio.h>
int b(int a)
{
int count = 0;
int n=32;
while (n--)
{
if (a& 1 == 1)
{
count++;
}
a = a /》》1;
}
return count;
}
int main()
{
int count = 0;
int ret = 0;
int a = 0;
scanf("%d", &a);
ret=b(a);
printf("%d",ret);
system("pause");
return 0;
}
原文:http://10942013.blog.51cto.com/10932013/1720145