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

1. 题目

若2X的补码为90H,则X真值为:
A 72
B -56
C 56
D 111

2. 理论

这就涉及原码、反码、补码的理论了,这块其实很简单,记住就能得分,记不住基本就靠蒙了。因为考到的概率很高,建议大家都记住了。

机器数(计算机中保存数据的形式)是2进制的,分为无符号数和有符号数。有符号数最高位表示符号位,可采用原码、反码、补码的编码方法。

2.1 原码

最高位为符号位,0表示正数,1表示负数,其他部分是数的绝对值。例如:
0000 0001表示11000 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。

猜你喜欢

转载自blog.csdn.net/woshisangsang/article/details/108554838