。。。剑指Offer之——二进制中1的个数。。。

 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     }
原文地址:https://www.cnblogs.com/yingmeng/p/10777762.html