题目:
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.
unsigned integer: http://baike.baidu.com/view/6052699.htm
1 public class Solution { 2 // you need to treat n as an unsigned value 3 public int hammingWeight(int n) { 4 5 int res=0; 6 int k=0; 7 for(int i=1;i<=32;i++) 8 { 9 res=n&1; 10 if(res==1) k++; 11 n=n>>1; 12 13 } 14 return k; 15 } 16 }