GESP 三级 · GESP 202606 C++ 三级 第 4 题

选择题 · 答案 B

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

题目

关于计算机编码中反码和补码,下面说法错误的是( )。

答案:B

解题思维

答案B。考点: 字符编码——ASCII码。

常见错误

仔细审题,注意题目中的所有限定词和条件。不确定时用排除法缩小选项范围。

详细解析(节选)

【考点】补码表示范围|反码运算规则|二进制数值范围

GESP 三级大纲《计算机编码》模块,核心考反码、补码的表示范围与运算规则。命题人特意选 B 卡住对“符号位占用高位”的直觉缺失——多数考生会下意识套用无符号数范围公式,却忽略 $n$ 位有符号数因最高位为符号位,实际数值范围被“切半”。

解题关键:逐项验证。A 描述补码快速构造法:从右向左扫描正数二进制,遇到第一个 1 后左侧位取反再 +1,符合补码定义,正确;C 反码减法可统一为加法,符号位参与运算,正确;D 反码中 0 有两种表示(全 0 与全 1),正确。B 声称 $n$ 位范围是 $-2^n$ 到 $2^n-1$,这是典型错误——最高位是符号位,$2^n-1$ 是 $n$ 位无符号数最大值,而 $n$ 位有符号数最大正数应为 $2^{n-1}-1$,最小负数为 $-2^{n-1}$。

陷阱聚焦在 B 的“范围公式”上。若只背结论不推导,易误判为正确。命题人利用“符号位不计入数值”的认知盲区,把 $-2^n$ 当作最小值,把 $2^n-1$ 当作最大值,制造看似对称实则错误的区间。C 选项的“符号位参与运算”是反码运算的核心特征,若忽略这点,会误以为减法需单独处理符号位,掉进“反码减法要分符号位”的陷阱。

反命题视角:若把 B 改为"$n$ 位二进制有符号数范围是 $-2^{n-1}$ 到 $2^{n-1}-1$",则 B 正确,题目需换错误项。若把 C 改为“反码减法不能统一为加法”,则 C 错误。刷到此类题,先问自己:"$n$ 位有符号数的最大正数是多少?符号位算不算数值位?”抓住二进制位权分配的本质,自然避开公式陷阱。

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