首页 > 代码库 > 191. Number of 1 Bits

191. 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.

链接:  http://leetcode.com/problems/number-of-1-bits/

2/22/2017, Java

 1 public class Solution {
 2     // you need to treat n as an unsigned value
 3     public int hammingWeight(int n) {
 4         int count = 0;
 5         for (int i = 0; i < 32; i++) {
 6             count += ((n >> i) & 1);
 7         }
 8         return count;        
 9     }
10 }

还有Brian Kernighan的方法,每次去除最低位的1,运算的次数就是count。留给二刷

191. Number of 1 Bits