题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> res;
int m = 0;
int n;
int a;
cin >> a;
//方法一:十进制转化为二进制,算二进制中1的个数
while(a != 0)
{
n = a % 2;
res.push_back(n);
a = a/2 ;
}
for(int a : res)
{
if(a == 1)
{m++;}
}
//方法二,位运算
//while(a)
//{
// m++;
// a = a&(a-1);
//}
cout << m;
return 0;
}