下列
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; }