补码中,表示正负的01是否参与运算

来源:百度知道 编辑:UC知道 时间:2024/05/26 16:05:15
例如,补码1000 0000,求原码时,计算过程是怎样的

求原码时,符号位不动,数值位求反加一。

加一时,如果有进位到符号位的,弃之。

那么:1 000 0000
有:1 111 1111+1
故有:1 000 0000

另外再说明一下:
如果把1000 0000当做补码,那么它就是-128的补码;
如果把1000 0000当做原码,那么它就是-0的原码。
原码里面,没有-128这个值。

最高位是符号位

这个数减1,得出0111 1111
然后取反,得出1000 0000
也就是说原码是2的7次方。记得这个数是负数,所以是负的2的7次方

要是是正数的话,最高位是0,因为正数的补码就是其本身

10000000
求反得 0111 1111
末位加1
1000 0000
你会发现是相同的结果。
所以汇编规定
1000 0000代表-128
这就是为什么范围是-128---+127的原因
你举了个特列

参与运算,其实补码最高位的那个1和0叫符号位只是个习惯而已,其实那个不是符号