求一个正整数对应二进制数中1的个数
#include <stdio.h>
#include <iostream>
using namespace std;
//求一个正整数的二进制数中有多少个1
int binar(int num)
{
int sum = 0;
while(num>0)
{
if(num & 1)
{
sum++;
}
num >>= 1;
}
return sum;
}
int main()
{
int num = 0;
printf("请输入一个正整数:");
scanf("%d",&num);
int count = binar(num);
printf("%d二进制数中1的个数是%d.\n",num,count);
system("pause");
return 0;
}