如何求原码、补码、反码、移码和他们的关系

8位二进制数

整数无符号数的表示范围是:0~255

整数原码的表示范围是:-127~+127

整数补码的表示范围是:-128~+127

整数反码的表示范围是:-127~+127

x=+1110, [x]=0,1110正数符号位是0

x=-1110, [x]=1,1110负数符号位是1

x=+1010,[x]=0,1010正数补码是本身

x=-1101, [x]=1,0011负数补码是每位取反(符号位除外)最后+1

x=+0.0110,[x]=0.0110正数反码是本身

x=-0.0110, [x]=1.1001负数反码是每位取反(符号位除外)

x=10100, [x]=1,10100 [x]=2n+x

x=-10100, [x]=0,01100 [x]=2n-x

(n是x的位数)

求移码也可以根据移码与补码的关系: [X]移与[X]补的关系是符号位互为相反数(仅符号位不同),

如X=+1011 [X]补=01011 [X]移=11011

X=-1011 [X]补=10101 [X]移=00101

 

在移码中,零是唯一的。即[+0]=[-0]


当真值为正时,原码、补码和反码的表示形式均相同,即符号位用“0”表示,数值部分和真值相同。

当真值为负时,原码、补码和反码的表示形式不同,但符号位都是“1”数值部分则是 补码是原码的“每位取反最后+1”,反码是原码的“每位取反”。


你可能感兴趣的:(计算机组成原理)