/* countOneBits.c ----- 计算给出整型数value二进制中值为1的位的个数 ** dhfalive 2010.8 dh_fa@live.cn */ int countOneBits(unsigned value) { int ones;//位值为1的个数 for (ones = 0; value != 0; value >>= 1) { //如果最低位为1,增加计数器的值 if ((value & 1) != 0) { ones++; } } return ones; }