以下内容摘自《计算机组成原理》(第二版)唐朔飞(P220)
原码表示法:原码是机器数中最简单的一种表现形式,符号位为0表示正数,符号位为1表示负数,数值为真值的绝对值,故原码表示又称为带符号的绝对值表示。
整数原码的定义为
0, x 2n > x >= 0
[x]原=
2n - x 0 >= x > -2n
式中,x为真值,n为整数的位数。
例如:
当x = +1110时,[x]原 = 0,1110
当x = - 1110时,[x]原 = 24 - ( -1110 ) = 1,1110
用逗号将符号位和数值分开
小数原码的定义为
x 1> x >= 0
[x]原=
1 - x 0 >= x > -1
式中,x为真值。
例如:
当x = 0.1101时,[x]原 = 0.1101
当x = - 0.1101时,[x]原 = 1 – ( - 0.1101 ) = 1.1101
********************************************************************************************
计算机使用补码表示法表示负数
补码的定义
由原码除符号位外,每位求反,末位加1.
当真值为正时,原码、补码和反码的表现形式相同,即符号位为“0”,数值部分与真值相同。
当真值为负时,原码、补码和反码的表现形式不同,但其符号位都为“1”,而数值部分有这样的关系,即补码是原码的“取反加1”, 反码是原码的“每位取反”。
如果将一个数的反码与该数相加,则结果所有的位将全部为1。要得到全0结果的关键是补码比反码大1。加1使得各个列结果为0并进1。进位不断左移,直到最左侧位被丢弃,因此结果全为0.