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 }