问题描述:

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.

代码如下: 3ms

int hammingWeight(uint32_t n) 
{
    int count = 0;
    
    while(n)
    {
        if(n % 2)
        {
            ++count;
        }
        
        n >>= 1;
    }
    
    return count;
}

  

posted on 2017-12-05 11:01  gtxvs  阅读(140)  评论(0编辑  收藏  举报