Number of 1 Bits Explained
Problem Statement
Given a 32-bit unsigned integer n, count the number of 1 bits in its binary representation, also known as the Hamming weight. For example, the number 11 (binary: 1011) has three 1 bits. This problem tests your ability to manipulate bits efficiently, typically using bitwise AND and shift operations to inspect each bit.
Example
Input: n = 11
Output: 3
Explanation: The binary representation of 11 is 1011, which contains three 1 bits.
Code
Java
                Python
                JavaScript
            
public class Solution {
    public int hammingWeight(int n) {
        int count = 0;
        while (n != 0) {
            count += n & 1;
            n >>>= 1;
        }
        return count;
    }
    public static void main(String[] args) {
        Solution sol = new Solution();
        System.out.println(sol.hammingWeight(11)); // 3
    }
}
            
            
def hamming_weight(n):
    count = 0
    while n:
        count += n & 1
        n >>= 1
    return count
# Example usage
print(hamming_weight(11))  # 3
            
            
function hammingWeight(n) {
    let count = 0;
    while (n) {
        count += n & 1;
        n >>>= 1;
    }
    return count;
}
// Example usage
console.log(hammingWeight(11)); // 3
            
        Explanation
- Initialize a counter 
countto track the number of 1 bits. - While 
nis non-zero, extract the least significant bit usingn & 1. - Add the bit (0 or 1) to 
count. - Right-shift 
nby 1 to process the next bit. - Return the total count when all bits are processed.
 
Note
                The time complexity is O(1) since we process at most 32 bits for a 32-bit integer. Use unsigned right shift (
        >>>) in Java and JavaScript to handle unsigned integers correctly. An alternative is to use n & (n - 1) to clear the rightmost 1 bit each iteration.
            