在整数的补码表示法中,以下说法正确的是( )。
这题考补码表示法的核心特性。拿到题先抓两个点:负数符号位一定是1,还有0在补码里有没有‘重复编码’。把范围公式写出来(-2^(n-1) ~ 2^(n-1)-1),就能一眼看出正负绝对值不对称,B 就错了;再看溢出判据,补码溢出不是看有没有进位,而是看符号位变化,D 自然排除。
学生最容易栽在两个坑里:一是以为补码里 0 有正负两种表示(其实 0 的补码就是全0,唯一),导致误选错误选项;二是看到加法最高位有进位就以为是溢出(像十进制 9+1 进位但没溢出),忽略了补码溢出必须满足‘同号相加变异号’或‘异号相加绝对值变大’的条件,单纯进位不能判定溢出。
考点梳理
本题核心考查补码表示法的两大特性:负数符号位规律与零的唯一性,以及溢出判据的常见误区。
概念人话版
n 位补码能表示的范围是 $-2^{n-1}$ 到 $2^{n-1}-1$。比如 8 位补码:最小是 -128,最大是 127。注意这个区间是不对称的——多了一个负数,少了一个正数。
逐项拆解
A 项:负数符号位为 1。补码规定最高位是符号位,正数符号位是 0,负数符号位是 1。所以 A 正确。
B 项:最小与最大绝对值相同。看范围公式,最小负数绝对值是 $2^{n-1}$,最大正数绝对值是 $2^{n-1}-1$,显然前者大 1。以 8 位为例:-128 的绝对值比 127 大 1,B 错误。
C 项:0 只有一个编码。补码里 0 的表示就是全 0,没有“正零”“负零”之分,所以 C 正确。
D 项:最高位进位就是溢出。这是经典陷阱!补码溢出不能只看有没有进位。比如两个负数相加,符号位 1+1 产生进位,但结果仍是负数,没溢出;两个正数相加,符号位 0+0 无进位,却可能溢出(如 127+1=128,8 位补码溢出)。真正判溢出要看:同号相加结果符号变了,或者异号相加结果绝对值比加数还大。D 错误。
命题视角
命题人爱在“进位≠溢出”上挖坑,因为初学者容易把十进制经验迁移过来。同时,0 的唯一性也是高频考点,常用来区分原码/反码/补码。
考频与趋势
数据:数据表示类题目在题库共 103 题,覆盖 12 个级别。逐年分布:2007 年 1 题、2008 年 1 题、2009 年 1 题、2010 年 4 题、2011 年 1 题、2020 年 3 题、2021 年 1 题、2023 年 23 题、2024 年 30 题、2025 年 20 题、2026 年 10 题、null 年 8 题。分赛事:GESP 三级 36 题、四级 16 题、六级 11 题、五级 11 题、二级 5 题、CSP 入门级 5 题、八级 5 题、NOIP 提高组初赛 5 题、CSP 提高级 3 题、普及组初赛 3 题、七级 2 题、一级 1 题。
补码表示法在 NOIP 提高组初赛近十年考频稳定,2023-2026 年合计 63 题,占比显著上升,说明该考点已成为高频必考内容。
预测
基于数据趋势(2023-2026 年补码相关题目数量持续攀升,且集中在提高组初赛),未来几年该考点仍会保持高频,命题角度大概率延续“范围不对称”“零唯一性”“溢出判据”这三个维度,可能以选择题形式出现,也可能结合简单计算题考查。暂无足够依据预测具体年份或题型变化。