c++求下面函数的返回值(微软)
作者:野牛程序员:2023-07-15 11:02:08 C++阅读 2736
int func(int x) { int countx = 0; while (x) { countx++; x = x & (x - 1); } return countx; }
假定x = 9999。 输出答案:为多少。 解答: 根据给定的程序,函数func的目的是计算输入整数x的二进制表示中有多少个1。它使用了一种称为Brian Kernighan's algorithm的位操作技巧来高效地计算1的个数。 当调用func(9999)时,将传入参数9999。将这个数的二进制表示为10011100001111,其中共有8个1。因此,函数func(9999)将返回8。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
