Number of 1 Bits

Number of 1 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.

思路:

  位操作

我的代码:

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int count = 0;
        for(int i = 0; i < 32; i++)
        {
            if( ((n >> i) & 0x00000001) == 1)
                count++;
        }
        return count;
    }
}
View Code
原文地址:https://www.cnblogs.com/sunshisonghit/p/4357305.html