求教有关-128补码的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/06 09:49:08
请教一下大家:-128的补码怎么求呀?

求负数补码的公式:当X<0,则将X的各位取反,然后在低位上加1,并使符号位为1,即得到[X]补。

-127
原码:11111111
反码:10000000
补码:10000001

但是如果按照这个公式的求-128的补码:
-128=110000000 符号位1不变,数值部分取反结果是01111111,未尾加1结果是10000000,最后加上前面的符号位"1",最后结果是110000000。
但实际的结果是“(-128)补”=10000000,和公式求出来的结果为什么是不一样呀?

-128=110000000 前面的“1”是符号位,后面的10000000中的“1”是数值中的一部分,所以110000000应该是单符号位而不是双符号位.

-2^n是个特殊数(n为x数值位的长度):它补码的求法应按照公式进行运算:
如:
-128
“[-2^7]补”=(2^8)+(-2^7)=10000000

在纯整数的“原码”表示中,“[-2^n]原”是不能表示的;而在“补码”表示中,在模为2^(n+1)的条件下,纯整数的补码最小可以表示到-2^n 。这时在[-2^n]中,符号位的1既表示符号“-”,也表示数值2^n 。

你用公式的时候是用双符号位,后面的结果又用了单符号位,不晓得你什么意思。。

有-128吗?