NOIP 提高组初赛 · NOIP 2017 提高组初赛试题 第 2 题

选择题 · 答案 B · 考点:进制与编码

← 整套速查表 NOIP 提高组初赛 全部真题

题目

在 $8$ 位二进制补码中,$10101011$ 表示的数是十进制下的( )。

答案:B

考点

进制与编码

解题思维

看到负数补码,别急着当无符号数读,直接按‘取反加一’求绝对值,符号位决定正负,这步算对就稳拿分。

常见错误

最容易掉进两个坑:一是把补码当无符号二进制直接算成 171,忘了最高位是符号位;二是求绝对值时只取反没加一,或者加一后算错位权,比如把 01010101 算成 84 或 86,导致选错 D 或 B 的干扰项。

详细解析(节选)

考点概念:补码表示

8 位补码的表示范围:-128 ~ 127(最高位为符号位)。正数补码即本身,负数补码是‘取反加一’后的形式,逆运算同样是‘取反加一’还原绝对值。

10101011 的转换: 1. 最高位为 1 → 负数 2. 取反:10101011 → 01010100 3. 加 1:01010100 + 1 = 01010101 = 85 4. 所以值为 -85

选 B。

技巧: 负数补码 = 绝对值取反 + 1;逆运算同样“取反 + 1”得绝对值。

命题视角:爱挖哪类坑

命题人常把负数补码伪装成无符号数,让你误算成 171,或者故意把取反后的结果少加 1 变成 84,对应选项 D,考的就是你是否严格按“取反加一”流程走。8 位补码范围是 -128~127,任何超出这个范围的无符号解读都是错的。

同考点真题

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