# 191. Number of 1 Bits

[ **191. Number of 1 Bits**](https://leetcode.com/problems/number-of-1-bits/description/)

Write a function that takes an unsigned integer and returns the number of '1' bits it has (also known as the [Hamming weight](http://en.wikipedia.org/wiki/Hamming_weight)).

**Example 1:**

```
Input: 11
Output: 3
Explanation: Integer 11 has binary representation 00000000000000000000000000001011 
```

**Example 2:**

```
Input: 128
Output: 1
Explanation: Integer 128 has binary representation 00000000000000000000000010000000
```

***My Solutions:***

一直>>>1这个数字直到变成0（因为是unsigned value，所以用>>>）

```
public class Solution {
    // you need to treat n as an unsigned value
    
    public int hammingWeight(int n) {
        int res = 0; 
        while (n != 0) {
            res += n & 1; // 得到1的个数
            n = n >>> 1; // 往右移动
        }
        return res;
    }
}
```
