#include <iostream>
using namespace std;
class Solution {
public:
/**
* 求数字的二进制形式中1的个数
* @param n 待求数字
* @return 1的个数
*/
int hammingWeight(uint32_t n) {
int count = 0;
while (n) {
n &= n - 1; // n &= (n-1)相当于把n最右边的1消去,所以count等于1的个数
count++;
}
return count;
}
};
int main() {
Solution s;
cout << s.hammingWeight(9) << endl;
return 0;
}
京公网安备 11010502036488号