NOIP 普及组初赛 · NOIP 2010 普及组初赛试题 第 11 题

选择题 · 答案 D · 考点:进制与编码、数据表示

← 整套速查表 NOIP 普及组初赛 全部真题

题目

一个字长为 $8$ 位的整数的补码是 $11111001$,则它的原码是( )。

答案:D

考点

进制与编码数据表示

解题思维

拿到题先盯最高位,1就是负数,补码转原码对负数就是数值位取反加1,别把符号位也动。

常见错误

最容易栽跟头就是把符号位当成数值位一起取反,或者取反后忘了加1,直接选成C。还有学生误以为补码和原码数值位完全一样,看到11111001就选C,其实那是补码特有的表示方式。另外位数要卡死8位,少一位或多一位都错。

详细解析(节选)

考点与概念

这道题考的是补码转原码,核心就一句话:负数补码的数值位取反加1。正数补码和原码一样,符号位0不变,数值位不变。负数补码符号位1不变,数值位取反后加1。

命题视角

2010年这题是NOIP普及组初赛,命题人喜欢用"8位补码"这种具体场景,逼你动手算。坑点就藏在细节:符号位别动、数值位取反后必须加1、位数必须卡死8位。很多学生看到一串1就慌,容易把符号位也取反,或者漏掉加1步骤。

同考点真题

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