统计二进制数中“1” ,“0”的个数

//统计二进制数中“1”的个数,用如下代码
int fun(int value)
{
    int cnt = 0;
    while(value)
    {
        cnt++;
        //消除所有1,变成0
        value = value & (value - 1);
    }
}

 //统计二进制数中“0”的个数,用如下代码
int fun(int value)
{
    int cnt = 0;
    while(!value)
    {
        cnt++;
        //消除所有0,变成1
        value = value | (value + 1);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42205987/article/details/82634892
今日推荐