每日一题3.20.1

解题思路: 用n&1获取最低位二进制,每次n右移一位,可以获取一位的二进制值,直到n为0,循环终止
代码实现:
#include <iostream>
using namespace std;
int main()
{
int n;
while (cin >> n)
{
int count = 0;
while (n)
{
if ((n & 1) == 1)
count += 1;
n >>= 1;
}
cout << count << endl;
}
return 0;
}