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

2021年8月14日 | 分类: 【编程】

【问题】

NOIP2017 提高组初赛

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

A. 43
B. -85
C. -43
D. -84

【考点】

原码、反码和补码:

首位0、1分别表示正、负。

正数的反码是它本身。
负数的反码是它原码除符号位外按位取反。

正数的补码是它本身。
负数的补码是它的反码+1。

【解析】

1. 获得补码对应的反码:

补码:10101011
因为首位是1,所以这个补码是负数
那么这个补码的反码是补码末位-1,得到反码:10101010

2. 获得反码对应的原码:

将反码首位不变,其他位取反,得到原码:11010101

符号位为1表示这是个负数,1010101的十进制数是85。

所以答案是 -85 。

答案选择:B