Number of 1 Bits

For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should return 3.

class Solution {
public:
    int hammingWeight(uint32_t n) {
        int count = 0;
        //for (int i = 0; i < 32; ++i) {
           // count += (n & 1);
            //n = n >> 1;}
        while(n)
        {
           //count++;
           n=(n&n-1);//这样每次可以使最低位的1变为0
           count++;
        }
        return count;
       
    }
};

原文地址:https://www.cnblogs.com/gofighting/p/5036112.html