当前位置:首页 C++ > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击