剑指 Offer 15. 二进制中1的个数

剑指 Offer 15. 二进制中1的个数

![image-20210131191417756](C:UserspeekapooAppDataRoamingTypora ypora-user-imagesimage-20210131191417756.png)

666

这个用c++就很容易的【粗糙写法】:

 int hammingWeight(uint32_t n) {
       int res = 0;
       while(n != 0){
           if(n & 1) res++;
           n >>= 1;
      }
       return res;
  }

利用 n&(n-1)

int hammingWeight(uint32_t n) {
       int res = 0;
       while(n != 0){
           res ++;
           n = n&(n-1);
      }
       return res;
  }

但是用js怎么写啊,,,有点晕,这种按二进制十六进制等输入的参数,不太懂怎么处理,今天先不搞了

 

原文地址:https://www.cnblogs.com/peekapoooo/p/14353629.html