GESP 三级 · GESP 202409 C++ 三级 第 16 题

判断题 · 答案 A

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

题目

$+1$ 和 $-1$ 的原码进行 $1 + (-1)$ 计算的结果是 $-2$。( )

答案:A

解题思维

答案A。结合题目信息和所学知识分析。

常见错误

仔细审题,注意"不正确""不属于""不是"等否定词。用排除法缩小范围。

详细解析(节选)

【考点】原码表示|补码表示|定点数运算

考纲定位:GESP三级"数制与运算"模块,专门考查学生对机器数表示与定点加减法的掌握。命题人把"原码直接相加"这一冷门操作塞进试卷,就是筛掉那些只背"补码才是机器加法"却不懂原码定义的考生。

解题思维:先写出原码——+1 的原码是 0000 0001,-1 的原码是 1000 0001(符号位固定为 1,其余位为数值 1)。两数按位相加得 1000 0010。二进制 1000 0010 的符号位仍是 1,说明结果带负号;去掉符号位后剩下 0000 0010,即十进制 2。所以整个结果就是 -2,原题判断正确。

陷阱拆解:错误选项 B 通常源于三种混淆——一是把原码当成补码导致符号位被误判;二是忘记"原码直接相加"后仍要重新解释符号位;三是误以为加法会进位到更高位从而改变数值。这道题最阴险的细节是"原码进行计算"这个限定,它强制你按位相加后再解读结果,而不是直接套用补码加法公式。

反命题思维:若题目改成"使用补码进行 1+(-1) 计算",答案依然是 -2,但解题路径完全不同;若改成"用原码表示 -2 再与 -1 相加",结果会变成 -3。刷到这类题先问自己:题目限定的是原码还是补码?符号位是参与运算还是只用于判断正负?

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