首页 > 代码库 > leetcode 191

leetcode 191

191. 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.

求出输入整数的32位中有多少位值为1.

代码如下:

 

 1 class Solution { 2 public: 3     int hammingWeight(uint32_t n) { 4         unsigned pos = 1 << 31; 5         int count = 0; 6         while(pos) 7         { 8             if(pos & n) 9             {10                 count++;11             }12             pos >>= 1;13         }14         return count;15     }16 };

 

leetcode 191