关于计算机编码中反码和补码,下面说法错误的是( )。
答案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$ 位有符号数的最大正数是多少?符号位算不算数值位?”抓住二进制位权分配的本质,自然避开公式陷阱。