本文共 459 字,大约阅读时间需要 1 分钟。
#include/* * 返回参数中值为1的位的个数 * */int count_ones(unsigned value){ int ones;//用于统计个数 for(ones = 0; value != 0; value = value >> 1) if(value % 2 != 0)//如果最低位为1,计数增加1 ones = ones + 1; return ones;}int count_ones_ex(unsigned value){ int ones;//用于统计个数 for(ones = 0; value != 0; value = value >> 1) if((value & 1) != 0)//如果最低位为1,计数增加1 ones += 1; return ones;}int main(){ unsigned int i; scanf("%u",&i); int res = count_ones(i); printf("res = %d\n",res);}
转载地址:http://bxuhj.baihongyu.com/