//统计二进制数中“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);
}
}
//统计二进制数中“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);
}
}