求整数二进制表示中比特为1的个数
方法一
int count_ones(int num)
{
if (num == 0)
return 0;
return count_ones(num & num - 1) + 1;
}
方法二
int count_ones(int num)
{
int count = 0;
while (num != 0)
{
if (num & 1)
count++;
num = num >> 1;
}
return count;
}
浙公网安备 33010602011771号