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.

Solution:

  1. public class Solution {
  2. // you need to treat n as an unsigned value
  3. public int hammingWeight(int n) {
  4. int count = 0;
  5. for (int i = 0; i < 32; i++) {
  6. if ((n & 1) != 0)
  7. count++;
  8. n >>>= 1;
  9. }
  10. return count;
  11. }
  12. }