GESP 三级 · GESP202609 C++ 三级 第 5 题

选择题 · 答案 B · 考点:位运算、循环控制

← 整套速查表 GESP 三级 全部真题

题目

下面程序执行的结果是(  )。

#include <iostream>
using namespace std;
int main() {
int x = 2026;
int count = 0;
while (x > 0) {
count++;
x = x & (x - 1);
}
cout << count << endl;
}
答案:B

考点

位运算 讲解 →位运算 真题汇总 →循环控制

解题思维

见 x & (x-1) → 数二进制 1 的个数

常见错误

误以为每次 x 减半(得 16);误以为循环次数等于初值(得 2026);混淆按位与与减法借位影响。

详细解析(节选)

考点:二进制位运算|x & (x-1) 特性

解析

循环次数等于 2026 二进制中 1 的个数。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断