输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:输入一个整数(int类型)
输出描述:这个数转换成2进制后,输出1的个数
方法一:
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
int count=0;
while(cin>>n)
{
int num=1;
for(int i=0;i<32;i++)
{
if(n&num)
count++;
num=num<<1;
}
cout<<count;
}
return 0;
}
方法二:
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
int count=0;
while(cin>>n)
{
while(n)
{
count++;
n=n&(n-1);
}
cout<<count;
}
return 0;
}