原文:http://ocw.guet.edu.cn/dept3/030206/%BD%CC%D1%A7%BF%CE%BC%FE/computer/chapter2/2.3/2.3.1.htm
1:补码加法
计算机中采用补码进行加法运算,并约定存储单元和运算寄存器中的数都采用补码表示,数据运算结果也用补码表示。
定点小数补码加法的运算公式为
[x]补+[y]补=[x+y]补 (mod 2)
具体证明过程见教材。
因此在模2定义下,两个定点小数的补码之和等于两个数和的补码。反过来,两个数相加所得到的和的补码等于这两个数补码的和。这是补码加法的理论基础,其结论推广到定点整数后得出定点整数补码加法的运算公式为:
[x]补+[y]补=[x+y]补 (mod 2n+1)
[例2.16] 已知x=0.0011,y=0.0111,用单符号位补码计算x+y。
解:【x】补 = 0.0011 【y】补 = 0.0111
【x】补 0.0011
+ 【y】补 0.0111
---------------------------------
【x+y】补 0.1010
所以 x+y = 0.1010;
[例2.17] 已知x=0.1101,y=-0.0011,用单符号位补码计算x+y。
解:【x】补 = 0.1101 【y】补 = 1.0011
【x】补 0.1101
+ 【y】补 1.0011
---------------------------------
【x+y】补 0.1010
所以 x+y = 0.1010;
[例2.18] 已知x=+1001,y=-0101,用单符号位补码计算x+y。
解:【x】补 = 1001 【y】补 = 11011
【x】补 1001
+ 【y】补 11011
---------------------------------
【x+y】补 00100
所以 x+y = +0100
由例2.16、例2.17和例2.18可以看出,定点小数加法运算与定点整数加法运算的区别仅在于小数点的位置不同而已,即定点小数的小数点在符号位之后,而定点整数的小数点在机器码的最后。实际上,对于定点数的其它运算,定点小数与定点整数的区别也仅在于小数点的位置不同而已,运算规则完全相同。