在 $8$ 位二进制补码中,$10101011$ 表示的数是十进制下的( )。
看到负数补码,别急着当无符号数读,直接按‘取反加一’求绝对值,符号位决定正负,这步算对就稳拿分。
最容易掉进两个坑:一是把补码当无符号二进制直接算成 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,任何超出这个范围的无符号解读都是错的。