求整数二进制表示中比特为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;
}

posted on 2021-11-29 12:11  ꧁༺๑♝๑༻꧂  阅读(30)  评论(0)    收藏  举报