GESP 三级 · GESP 三级样题(C++ 组) 第 1 题

选择题 · 答案 A

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

题目

GESP 三级样题

下列关于负数的原码、反码、补码的描述中,正确的是( )。

答案:A

解题思维

这题考的是负数在计算机里的三种编码方式:原码、反码、补码。拿到题先别急着算,脑子里过一遍定义:原码符号位不动,反码是符号位不动其余位取反,补码是反码加1。选项A刚好把这三步串起来了。

常见错误

最容易掉进B选项的坑,因为很多人记混了,以为补码就是原码加1,其实原码到补码要两步:先变反码再+1。C和D则是把转换方向搞反了,比如把反码转补码说成取反,或者把原码转反码说成补码。一定要盯紧题干里的‘符号位除外’,这是所有按位取反操作的铁律,谁漏了谁就错。

详细解析(节选)

【考点】负数编码:原码、反码、补码的定义与转换规则。

【概念拆解】 原码:最高位是符号位,正数0,负数1,其余位直接表示数值。 反码:符号位不变,数值位全部按位取反。 补码:符号位不变,数值位取反后加1(或减1,看具体算法,但结果一致)。

【命题视角】 GESP三级喜欢考这种‘概念辨析’,不是让你写代码,而是让你把定义背熟、逻辑理清楚。命题人往往会在选项里把‘两步变一步’或者‘方向搞反’作为陷阱,比如B选项说补码是原码加1,这显然是错的,因为原码到补码必须经过反码这一步。C和D则是把反码和补码的关系、原码和反码的关系说反了。

【思考心法】 看到负数编码题,先锁定符号位:所有‘按位取反’都只针对数值位,符号位雷打不动。然后看转换路径:原码→反码是一步取反,反码→补码是一步加1。选项A说‘原码和反码互为按位取反(符号位除外),补码为反码加1’,完全符合定义;B把补码说成原码加1,漏了中间步骤;C把反码和补码说成互为取反,方向错了;D把原码和补码说成互为取反,更是张冠李戴。所以A是唯一正确的。

【避坑提醒】 千万别被‘补码=原码+1’这种顺口溜骗了,这是典型错误记忆。还有,题干里‘符号位除外’这几个字一定要圈出来,这是所有按位取反操作的铁律,谁漏了谁就错。另外,C和D选项里的‘互为’二字也很关键,原码和反码确实互为取反,但反码和补码不是互为取反,而是反码+1=补码,方向是单向的。

【考频与趋势】 根据题库数据,负数编码相关题目在‘C++程序设计’模块共考过261题,其中GESP三级考了82题,占比约31%,是三级考试中的高频考点。在‘基础语法’模块考了215题,GESP三级占215题中的部分,说明这类概念题在三级考试中非常常见。从历年分布看,2024年考了103题,2025年考了72题,2026年考了13题,呈现先高后降的趋势,但GESP三级始终是重灾区。

【预测】 基于GESP三级82题的高占比和2024-2025年的高频,未来GESP三级大概率还会继续考这类概念辨析题,尤其是原码、反码、补码之间的转换规则,可能会以单选题形式出现,也可能结合位运算的小题考查。命题人可能会继续用‘补码=原码加1’这种经典陷阱来挖坑,所以一定要把定义背熟、逻辑理清楚。暂无足够依据预测具体年份的考法,但GESP三级仍是这类题的重灾区。

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