计算机三级偏软补码问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 21:59:55
已知单字节定点整数,X的补码是 00011100 ,Y的补码是00110001,计算X-Y的十进制真值?
最好有解题过程,谢谢

比较简单的算法是把X、Y转为十进制,即28、49然后计算是 -21
不行就麻烦一点,首先有公式
对X的补码作求补运算(即按位取反后末尾加1(就对整数而言))可以得到-X的补码
[x-y]补=[x]补+[-y]补

对Y作求补运算,得1100 1111则[x-y]补=
0001 1100
+1100 1111
=1110 1011
由第一位是符号位可知为负数的补码,则对其作求补运算的其相反数的补码,其相反数为正数,所以原码等于补码,即
-(x-y)=00010101
即 -(x-y)=21
则x-y=21

可不可以 先把x y 的十进制形式算出来在计算减法呢