定点整数的加减法

简述

因为定点数一般用补码表示,我们对于原码的计算复杂,因为操作数取绝对值运算,实际操作并不仅仅取决于操作码,还与操作数的正负有关,并且可能对运算结果进行修正。因此我们下面主要讨论补码的加减运算方法。

 

定义

两个操作数都使用补码表示,连同符号位一起运算,结果也使用补码表示。

 

基本关系

    (X+Y)补=X补+Y补

    (X-Y)补=X补+(-Y补)

 

运算规则

首先我们在下面的计算过程中,将下面几点作为运算规则

1.对于定点整数运算,取mod2n+1的模(n表示不包括符号位的数值);对于定点小数,取mod2

 

 

 

直接举例

(1)若X=+10010,Y=-10101,求[X+Y]

1.分别求X,Y的补码

[X]=010010,[Y]=101011

2.代入公式计算

[X+Y]=[X]+[Y]=010010+101011=111101

3.取模运算(取mod25+1

得到[X+Y]=111101

【补充】:

如果这道题是要求计算X+Y的值,此时我们有了[X+Y],我们只需要对得到的值再次求补就行

X+Y=100011=-00011

 

(2)已知X=+10101,Y=+10010,求(X-Y)补

这种情况我们需要代入的公式是(X-Y)补=X补+(-Y补),因此我们不管要计算Y补,也要计算(-y)补

[X]=010101,[Y]=010010,[-Y]=101110(连同符号位一起变反加一,变补)

[X+Y]=[X]+[-Y]=010101+101110=1000011

取模预算丢掉最高位1,得到[X-Y]=000011=+00011

同样要求X-Y,也是对结果求补等于+00011

posted @ 2019-06-28 11:08  Hk_Mayfly  阅读(1221)  评论(0编辑  收藏  举报