1 public int NumberOf1(int n) {  2 // 统计1的个数  3 int count = 0;  4 // flag表示二进制的1  5 int flag = 1;  6 // 1、flag最多只能有32位1,超过32位之后,  7 // 2、最高位的1就会移出去,就变成0  8 while (flag != 0) {  9 // 如果n的二进制位当中某一位是1,则与的结果就不是0 10 if ((n & flag) != 0) { 11 count++; 12  } 13 // 每次flag往左边移动一位 14 flag = flag << 1; 15  } 16 return count; 17 }

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。