Number of 1 Bits

2015.4.17 05:48

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.

Solution:

  Old problem.

Accepted code:

 1 // 1AC, water
 2 class Solution {
 3 public:
 4     int hammingWeight(uint32_t n) {
 5         int ans = 0;
 6         
 7         while (n) {
 8             n = n & (n - 1);
 9             ++ans;
10         }
11         
12         return ans;
13     }
14 };

 

 posted on 2015-04-17 05:50  zhuli19901106  阅读(132)  评论(0编辑  收藏  举报