# LeetCode – Number of 1 Bits (Java)

Problem

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.

Java Solution

```public int hammingWeight(int n) { int count = 0; for(int i=1; i<33; i++){ if(getBit(n, i) == true){ count++; } } return count; }   public boolean getBit(int n, int i){ return (n & (1 << i)) != 0; }```
Category >> Algorithms >> Interview
If you want someone to read your code, please put the code inside <pre><code> and </code></pre> tags. For example:
```<pre><code>
String foo = "bar";
</code></pre>
```
• Omid

did you tried it ? n = 5

int nuum= 0;
while (n != 0)
{
int x = n & 1;
if (x == 1) nuum++;
n >>= 1;
}
return nuum;

• int hammingWeight(int n) {
int num = 0;
while (n != 0) {
n = n & (n-1);
num++;
}
return num;
}

• Walden

We could not use bit operators, just keep on dividing and modding by 2 until n==0; every time n%2==1, just add 1 to int answer.

• Shailesh Agarwal

Loop should run from 0 to 31

• Why don’t you use this :
``` public class Solution { public int hammingWeight(int n) { return Integer.bitCount(n); } } ```