以补码存储的 8 位有符号整数 10110111 的十进制表示为 ( )

2021年9月4日 | 分类: 【编程】

【题目】

以补码存储的 8 位有符号整数 10110111 的十进制表示为 ( )。

A. -73
B. 183
C. 72
D. -72

【考点】

原码、反码和补码:

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

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

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

【解析】

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

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

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

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

符号位为1表示这是个负数,1001001的十进制数是:

\(1001001(2)={(1\times2^6+1\times2^3+1\times2^0)}(10)={(64+8+1)}(10)=73(10)\)

答案是:-73,

答案选择:A