Number of 1 Bits

Description:

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.

Code:

1 int hammingWeight(uint32_t n) {
2         int num = 0;
3         while (n)
4         {
5             n = n & (n-1);
6             ++num;
7         }
8         return num;
9     }

 

posted @ 2015-06-24 22:26  Rosanne  阅读(142)  评论(0编辑  收藏  举报