在 $8$ 位二进制补码中,$10101011$ 表示的数是十进制下的( )。
拿到这题先别急着按位算,一眼看最高位是1,立马判定是负数。核心就两步:先整体按位取反,再把结果加1,最后转成十进制,答案自然就出来了。
学生最容易犯两个错:一是看到补码直接当原码看,以为10101011是正数43,完全忽略了符号位;二是算反了,把加1那一步漏掉,或者把取反后的数当成最终结果,导致算出-43这种错误选项。记住,补码转十进制,负数必须取反加一,顺序不能乱。
这道题考查的是8位二进制补码的十进制转换,属于信息学竞赛里最基础却最容易掉坑的知识点。
先说概念:8位补码能表示的范围是-128到127。正数和0的补码跟原码一样,符号位是0;负数的补码则是把原码除符号位外全部取反,末位再加1。
命题人特别喜欢在这儿挖坑:给一个看起来像正数的二进制串(最高位是1),诱导学生直接按位值展开算成43,或者只取反不加1,算成-43。这题的10101011,最高位是1,肯定是负数。
具体怎么算呢?拿到题先判断正负,这步最关键。确定是负数后,按规则先整体取反:10101011取反变成01010100。再末位加1:01010100 + 1 = 01010101。这个结果01010101是个正数,按权展开就是64 + 16 + 4 + 1 = 85。因为它是原码求出来的数值,别忘了前面有个负号,所以最终结果是-85。
避坑点要特别强调:很多学生看到补码就慌,要么直接硬算位值(那是原码的算法),要么只取反不加1,或者加1后忘了判断符号。这题正确答案就是B,-85。
从考频趋势看,进制与编码这类题目在历年真题里非常常见,题库共考过149题,覆盖11个考试级别,从2007年到2026年几乎年年都有。特别是近两年的NOIP普及组初赛,这类题目出现频率明显上升,2024年考了29题,2025年考了17题,2026年也考了17题,说明命题人对这类基础概念的考察力度在加大。
预测方面,基于近三年的高频数据和历年趋势,未来这类补码、原码转换的题目大概率会继续保持高频率出现,尤其是在普及组初赛这种基础环节,命题人很可能会继续用这种‘看似简单实则易错’的二进制数来考学生的细心程度。暂无足够依据预测具体年份或题型变化,但可以肯定的是,这类题目在未来几年内仍会是必考点。