定点加法减法运算(共10张PPT)_第1页
定点加法减法运算(共10张PPT)_第2页
定点加法减法运算(共10张PPT)_第3页
定点加法减法运算(共10张PPT)_第4页
定点加法减法运算(共10张PPT)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.2定点加法减法运算负数用补码表示后,可以和正数一样来处理。这样,运算器里只需要一个

加法器就可以了,不必为了负数的加法运算,再配一个减法器。补码加法的公式是[x]补+[y]

补=[x+y]

(mod

2)

(2.17)现分四种情况来证明。假设采用定点小数表示,因此证明的先决条件是I

x|

<1,|y|<1,|

x+y|<1。(1)x>0,y>0,

x+y>0。相加两数都是正数,故其和也一定是正数。正数的补码和原码是一样的,

可得:[x]补+[y]补=

x+y=[x+y]

(mod

2)(2)x>0,y<0,

x+y>0

x+y<0。相加的两数一个为正,

一个为负,因此相加结果有正、负两种可能。根据补码定义,[x]

补=

X,

[y]

补=2+y[x]补+[y]补=x+2+y=2+(x+y)当x+y>0

时,2+

(x+y)>2,

进位2必丢失,又因(

x+y)>0,故

[x]

补+[y]=

x+y=[x+y]补

(mod

2)当x+y<0

时,2+

(x+y)<2,

又因(x+y)<0,故

[x]

补+[y]=2+(x+y)=[x+y]

(mod

2)(3)x<0,y>0,

x+y>0

x+y<0。这种情况和第2种情况一样,把

x

和y

的位置对调即得证。

(4)x<0,y<0,

x+y<0。相加两数都是负数,则其和也一定是负数。[x]

补=2+

x,

[y]

补=2+

y[x]

+[y]

=

2

+

x+2+y=2+(2+x+y)上式右边分为”2”和(2+

x+y)

两部分.既然(x+y)

是负数,而其绝对值又小于1,那么(2+

x+y)

就一定是小于2而大于1的数,进位”2”必丢失.又因

(x+y)<0,

所以[x]

+[y]

补=2+(x+y)=[x+y]

(mod

2)至此我们证明了,在模2意义下,任意两数的补码之和等于该两数之和的补

码.这是补码加法的理论基础,其结论也适用于定点整数[x+y]

0.1110所

x+

y=+0.

1110[例9]

x=+0.

1011,y=-0.0101,

x+y[解:]

[x]

补=0.

1011,

[y]

补=1.1011[x]

0.1011

1.1011J

10.0110所以

x+y=0.0110由以上两例看到,补码加法的特点:一是符号位要作为

的一部

分一起

参加运算,二是要在模2

意义下相加,即

过2的进位要丢掉。[例8]

x=0.

1001,y=0.0101,

x+y。[解:]

[x]

补=0.

1001,[y]

补=0

.0101[x]

0.1001+[y]

0.0101负数的减法运算也要设法化为加法来做,其所以使用这种方

法而不使用直接减法,是因为它可以和常规的加法运算使用同

一加法器电路,从而简化了计算机的设计。数用补码表示时,减法运算的公式为[x-y]

=[x]

补-[y]

补=[x]

补+[-

y]

(2.18)只要证明[-

y]

=

-[y],

上式即得证。现证明如下:[x+y]

补=[x]

补+[y]

(mod

2)[y]

=

[x+y]-

[x]

(2.19a)[x-y]

=[x+

(

y)]

=[x]

+

[

y]

补[-y]

=[x—y]

补-[x]

(2.19

b)将式(2.19a)与(2.19b)相加,得[-y]

补+[y]

补=[x+y]

补+[x-y]

补—[x]

补-[x]

补=[x+y+x-y]

补-[x]补—[x]

补=[x+x]

-[x]

-[x]

=

0故

[-

y]

=

-[y]

(mod

2)

(2.20)从[y]

补求[-

y]

补的法则是:对

[y]

补包括符号位“求反且最末位加1”,即可得到[-y]

补。写成运算表达

[

-

y]

=

—[y]

补+2

-n

(2.21)[例10]已知x₁=-0.1110,x₂=+0.1101,求:[x₁

]

补,[-x₁

]补,[x₂

]

补,[一x₂

]补。[解:][x₁

]

补=1.0010[-x₁

]

补=-[x₁

]

补+2-⁴=0.1101+0.0001=0.1110[x₂

]

补=0.1101[-x₂

]

补=-[x₂

]+2-⁴=1.0010+0.0001=1.0011[例11]

x=+0.1101,y=+0.0110,

求x-y。[解:]

[x]

补=0.1101

[y]

补=0.0110,

[-

y]补=1.1010[x]补

0.1101十[一y]补

1.1010[x—y]

10.0111所以

x-y=+0.0111[例12]

x=+0.

1011,y=+0.

1001,

求x+y。[解:]

[x]补=0.1011

[y]补=0.1001[x]补

0.1011十[y]补

0.1001[x+y]

1.0100两个正数相加的结果成为负数,这显然是错误的。[例13]

x=-0.

1101,y=-0.

1011,

求x+y。[解:]

[x]补=1.0011

[y]

补=1.0101[

x]补

1.0011[y]

1.0101在定点小数机器中,数的表示范围为

|x

|<1.

在运算过程中如出现大

于1的现象,称为“溢出”。在定点机中,正常情况下溢出是不允

许的。[x+y]

0.1000两个负数相加的结果成为正数,这同样是错误的。之所以发生错误,是因为运算结果产生了溢出。两个正数相

加,结果大于机器所能表示的最大正数,称为上溢。而两

个负数相加,结果小于机器所能表示的最小负数,称为下

溢。为了判断"溢出"是否发生,可采用两种检测的方法。第一种方法是采用双符号位法,这称为"变形补码"或“模4补码”,从而可使模2补码所能表示的数的范围扩大一倍。变形补码定义为下式也同样成立:[x]

补+

[y]

补=[x+y]

(mod

4)或用同余式表示为[x]

=

4

+

x(mod

4)(2.22)为了得到两数变形补码之和等于两数之和的变形补码,同样必须:1.两个符号位都看作数码一样参加运算2.

两数进行以4位模的加法,即最高符号位上产生的进位要丢掉。采用变形补码后,如果两个数相加后,其结果的符号位出现“01”或

“10”两种组合时,表示发生溢出。这是因为两个绝对值小于1的数相加,

其结果不会大于或等于2,所以最高符号位永远表示结果的正确符号。例14:x=+0.

1100,y=+0.

1000,

x+y。[解:]

[x]=00.1100,[y]

补=00.100000.1100

00.100001.0100两个符号位出现“01”,表示已溢出,即结果大于+1。[例15]

x=-0.1100,y=-0.1000,

求x+y。[解:]

[x]补=11.0100,

[y]

补=11.1000[x]

11.0100

11.100010.1100两个符号位出现“10”,表示已溢出,即结果小于-1。由此可以得出如下结论:1.

当以模4补码运算,运算结果的二符号位相异时,表示溢出;相

同时,表示未溢出。故溢出逻辑表达式为

V=SSp,

其中S和Sp

分别为最高符号位和第二符号位。此逻辑表达式可用异或门

实现。2.

模4补码相加的结果,不论溢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论