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.

 

判断一个数的二进制有几个1

 

C++(3ms):

 1 class Solution {
 2 public:
 3     int hammingWeight(uint32_t n) {
 4         int res = 0 ;
 5         while(n){
 6             n = n&(n-1) ;
 7             res++ ;
 8         }
 9         return res ;
10     }
11 };

 

java(3ms):

 1 public class Solution {
 2     // you need to treat n as an unsigned value
 3     public int hammingWeight(int n) {
 4         int res = 0 ;
 5         while(n!=0){
 6             n = n&(n-1) ;
 7             res++ ;
 8         }
 9         return res ;
10     }
11 }

 

posted @ 2017-11-09 19:26  __Meng  阅读(129)  评论(0编辑  收藏  举报