2010-11-3018:40:24
28.整数的二进制表示中1的个数
题目:输入一个整数,求该整数的二进制表达中有多少个1。
例如输入10,由于其二进制表示为1010,有两个1,因此输出2。
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
while(1)
{
int tran=1,total=0,num;//tran=0000 0000 0000 0001
cin>>num;
if(tran&num)
++total;
while(1)
{
if(tran>num)
break;
else if((tran=(tran<<1))&num)
++total;
}
cout<<total<<endl;
}
return 0;
}