Can someone please tell me why n % 2 == 1 produces wrong result on test case 4294967295 (11111111111111111111111111111111)? After I changed to (n & 1) == 1, it passed. Thanks!

```
public class Solution {
// you need to treat n as an unsigned value
public int hammingWeight(int n) {
int count = 0;
while (n != 0) {
if (n % 2 == 1) {
count++;
}
n >>>= 1;
}
return count;
}
}
```