每日一题3.20.1

每日一题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;
}

猜你喜欢

转载自blog.csdn.net/lxb18821659801/article/details/88719417