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。