LeetCode(191):Number of 1 Bits

Number of i Bits: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.

题意:求出一个整数2进制表示时1的个数。

思路:位操作,一位一位右移,然后判断最后一位是否为1。

代码:

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int count = 0;
        while(n!=0){
           count+=n&1;
            n>>>=1;
        }
        return count;
    }
}
posted @ 2016-03-05 19:03  Lewisr  阅读(126)  评论(0)    收藏  举报