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; } }
LeetCode(191):Number of 1 Bits
原文:http://www.cnblogs.com/Lewisr/p/5245533.html