目录
牛客HJ62 查找输入整数二进制中1的个数
解析代码
牛客HJ62 查找输入整数二进制中1的个数
查找输入整数二进制中1的个数_牛客题霸_牛客网
解析代码
本题是计算一个数二进制表示中1的个数,通过(n >> i) & 1可以获取第i位的二进制值,每次n右移一位,可以获取一位的二进制值,右移32次,n变成0,循环终止。
#include <iostream>
using namespace std;
int main()
{int n = 0;while (cin >> n){int cnt = 0;while (n != 0){n &= (n - 1);++cnt;}cout << cnt << endl;}return 0;
}