。。。剑指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 }

更多精彩