1. 题目
若2X的补码为90H,则X真值为:
A 72
B -56
C 56
D 111
2. 理论
这就涉及原码、反码、补码的理论了,这块其实很简单,记住就能得分,记不住基本就靠蒙了。因为考到的概率很高,建议大家都记住了。
机器数(计算机中保存数据的形式)是2进制的,分为无符号数和有符号数。有符号数最高位表示符号位,可采用原码、反码、补码的编码方法。
2.1 原码
最高位为符号位,0表示正数,1表示负数,其他部分是数的绝对值。例如:
0000 0001
表示1
,1000 0001
表示-1
。
2.2 反码
最高位为符号位,0表示正数,1表示负数。当符号位为0,其他部分是数的绝对值;当符号位1,其余部分需要按位取反。例如:
0000 00001
表示1
,1000 0001
需要按位取反为1111 1110
,所以表示-126
。
2.3 补码
最高位为符号位,0表示正数,1表示负数。当符号位为0,其他部分是数的绝对值;当符号位1,其余部分需要按位取反再加1。例如:
0000 00001
表示1
,1000 0001
需要按位取反为1111 1110
,再加1为11111111
,所以表示-127
。
3.解析
看题目,补码90H,即为1001 0000,所以是负数,且值为按位取反1101111,再加1为1110000,即为112。
所以2X=-112,X=-56,选B。