天天看点

[软考考点解析]软件设计师--原码、反码、补码

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。