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.

 1 public class Solution {
 2     // you need to treat n as an unsigned value
 3     public int hammingWeight(int n) {
 4         long num = Long.MAX_VALUE & n;
 5         int countOfOne = 0;
 6         while(num != 0){
 7             countOfOne += Math.abs(num % 2);
 8             num /= 2;
 9         }
10         
11         return countOfOne;
12     }
13 }