[LeetCode] Number of 1 Bits 位操作
Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011
, so the function should return 3.
Bit Manipulation
#include <iostream> using namespace std; class Solution { public: int hammingWeight(uint32_t n) { int sum =0; while(n){ if(n&-n) sum++; n = n&(n-1); } return sum; } }; int main() { uint32_t n = 11; Solution sol; cout<<sol.hammingWeight(n)<<endl; return 0; }