求详解 补码,补码运算 例如:9的补码为什么是00001001 ,如果是109它的补码是多少 再有补码运算 怎么算 ,请

1个回答

  • 求解补码的步骤:

    (1) 求解二进制格式,得原码;

    (2) 如果为正数,补码=原码,如果是负数,继续下一步;

    (3) 除符号位外,各位取反;

    (4) 最低位加1,最终得到负数的补码.

    假设机器字长为8(一个数的二进制格式共有8位).

    以9为例,9(= 8+1 = 2的3次方 + 2的0次方)的二进制格式为 000 1001,符号位为0(0表示正数,1

    表示负数),它的原码为0 000 1001.

    由于9是正数,它的补码等于它的原码,即0000 1001.

    以109为例,它的二进制格式为110 1101,符号位为0,它的原码为0 110 1101,它的补码也就是

    0110 1101.

    以-9为例,

    (1) 它的二进制格式为000 1001,符号位为1,它的原码为1000 1001.

    (2) 由于-9是负数,继续下一步.

    (3) 除符号位外,各位取反,得1111 0110(最高位是符号位,不取反).

    (4) 最低位加1,得1111 0111.

    -9的补码为1111 0111.