整数补码表示的范围为什么是-128~+127

2025-03-06 17:39:08
推荐回答(3个)
回答1:

-128D=10000000B是规定而来的,而11111111可以计算是等于-1,第一位是符号位,是1,即为负数,后七位取反再加1,结果-1。
最大值首先符号位当然是0,即正数,所以最大值是01111111,即127

回答2:

八位码长,0 的补码就是:0000 0000。

将其减一,取八位,得:1111 1111=255 (十进制)。

因此,-1 的补码就是:255 = 1111 1111 (二进制)。 

同理,-2 的补码就是:254 = 1111 1110 (二进制)。 

继续,-3 的补码就是:253 = 1111 1101 (二进制)。 

公式:-X 的补码 = 256 - X 。 再变换为二进制。

所以,-128 的补码是:256-128 = 128 = 1000 0000。

回答3:

在计算机教材中,补码,有个定义式:

● X < 0 时,[ X ]补码 = 2^n + X。

当 n = 8,则 [-128 ]补码,就如下计算:

● 256-128 = 128 = 1000 0000 (二进制补码)。

-128 的补码,就是这么按照定义式算出来的。