题目
解决代码及点评
/* 求一个数中,二进制表示方式中1的个数 范例算法采用分治思想,通过位操作计算二进制中1的个数 */ #include <iostream> using namespace std; int counter(int n) { n = (n & 0x55555555) + ((n >> 1) &0x55555555); n = (n & 0x33333333) + ((n >> 2) &0x33333333); // 计算每两位有多少个1 n = (n & 0x0f0f0f0f0f) + ((n >> 4) & 0x0f0f0f0f); // 在每两位的基础上计算每四位的1个数 n = (n & 0x00ff00ff) + ((n >> 8)) & 0