字长为 8 位的整数的补码是 11111001,那么它的原码补码求原码是方法1,左数第一位取 12,其它各位取反3,最后整个数加 1补码为 11111001,那么原码是 10000111:因为符号位为“1〞,表示是一个负数,所以该位不变,仍为“1〞;其余 7 位 1111001 取反后为 0000110;再加 1,所以是 10000111。所以是-7.正数的补码 与原码相同。 【例 1】+9 的补码是 00001001。〔备注:这个+9 的补码说的是用 8 位的 2 进制来表示补码的,补码表示方式很多,还有 16 位 2 进制补码表示形式,以及 32 位 2 进制补码表示形式等。〕负数的补码 负数的补码等于其符号位不变,数值局部的各位取反,然后整个数加 1。 【例 2】求-7 的补码。 因为给定数是负数,那么符号位为“1〞。 后七位:-7 的原码〔10000111〕→按位取反〔11111000〕〔负数符号位不变〕→加1(11111001) 所以-7 的补码是 11111001。 注:数 0 的补码表示是唯一的: +0 的补码=+0 的反码=+0 的原码=00000000 -0 的补码=11111111+1=00000000〔mod 2 的 8 次方〕应用 一个数的补码,求原码的操作分两种情况: ⑴假如补码的符号位为“0〞,表示是一个正数,其原码就是补码。 ⑵假如补码的符号位为“1〞,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。 再举一个例子:求-64 的补码 +64:01000000 10111111+1 11000000 【例 3】一个补码为 11111001,那么原码是 10000111〔-7〕。 因为符号位为“1〞,表示是一个负数,所以该位不变,仍为“1〞。 其余七位 1111001 取反后为 0000110; 再加 1,所以是 10000111。