-32用补码表示为1110 0000. 32 = 10 0000b -32为32的补码,即1 0000 0000b - 10 0000b = 1110 0000b 求解补码的步骤:
(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.