Write a function that takes an unsigned integer and returns the number of ‘1’ bits it has (also known as the Hamming weight).

    Example 1:

    1. Input: 11
    2. Output: 3
    3. Explanation: Integer 11 has binary representation 00000000000000000000000000001011

    Example 2:

    Input: 128
    Output: 1
    Explanation: Integer 128 has binary representation 00000000000000000000000010000000
    
    /**
     * @param {number} n - a positive integer
     * @return {number}
     */
    var hammingWeight = function(n) {
        let sum = 0;
        while (n) {
            sum += n % 2;
            n = parseInt(n / 2);
        }
        return sum;
    };
    
    /**
     * @param {number} n - a positive integer
     * @return {number}
     */
    var hammingWeight = function(n) {
        let count = 0;
        while (n) {
            n &= (n - 1)
            count++;
        }
        return count;
    };