下列 main ()函数执行后的结果是()
//高赞答案说的不完全对
//统计二进制数中“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);
}
} #include <iostream>
using namespace std;
//统计二进制数中“1”的个数,用如下代码
int fun1(int value)
{
int cnt = 0;
while (value)
{
cnt++;
//消除所有1,变成0
value = value & (value - 1);
}
return cnt;
}
//统计二进制数中“0”的个数,用如下代码
int fun0(int value)
{
int cnt = 0;
while (!value)
{
cnt++;
//消除所有0,变成1
value = value | (value + 1);
}
return cnt;
}
int main() {
cout << fun1(65535) << endl;
cout << fun0(65535) << endl;
return 0;
}