X(补)=(FE9A)16 则X=?计算机导论补码的计算求过程

1个回答

  • 解这类题目,首先应该想到将题目转化为2进制来考虑

    FE9A(H)=1111,1110,1001,1010(B)

    然后是根据定义来考虑这个数的反码与补码.

    反码的定义就不用说了,很好理解.补码的定义,正数补码是它本身,负数补码就是其反码+1.

    在本题中,由于2进制数首位是1,说明该数是负数,因此很容易可以得出该数的反码为补码-1.

    反码:1111,1110,1001,1001(B)

    根据反码定义(首位符号位不变,其它位取反)

    不难得出原码:1000,0001,0110,0110(B)=9166(H)

    至于你的答案,我很好奇,为什么转换为16进制反而多了四位,这不符合补码运算.