导航

LeetCode 191. Number of 1 Bits

Posted on 2016-04-05 02:22  CSU蛋李  阅读(77)  评论(0编辑  收藏  举报

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.

问题:写一个函数,求一个无符号int型数据中有多少个1

 

解析:这题可以用位运算来解决

class Solution {
public:
    int hammingWeight(uint32_t n) {
        unsigned cnt = 0;
        for (;n != 0;)
        {
            if (n & 1 > 0)
                ++cnt;
            n = n >> 1;
        }
        return cnt;
    }
};