




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年CPMM客户关系试题及答案
- 中医脉诊设备产品临床评价考虑要素举例
- 2018年辽宁省鞍山市中考化学试卷(解析)
- 助你成功:2024年CPMM试题与答案
- 高效备战CPSM考试的试题及答案
- 近视防控课件
- 国际物流成本控制2024年试题及答案
- HZHY-AI200完整 刷机教程
- CPSM考试复习策略试题及答案
- 2025届西藏拉萨市那曲二高考全国统考预测密卷化学试卷含解析
- 2025年劳动实践课面试题及答案
- 2025年山东省济南中考一模英语试题(含答案)
- 2025年市场营销测试试题及答案
- 康养 项目可行性研究报告
- 第一单元 珍惜青春时光单元测试-2024-2025学年统编版道德与法治七年级下册
- 统编历史七年级下册(2024版)第6课-隋唐时期的中外文化交流【课件】d
- 2025年《插画设计》标准教案 完整版
- 教学课件-积极心理学(第2版)刘翔平
- 流行性感冒诊疗方案(2025 年版)解读课件
- 小学数学跨学科学习案例
- 2025年1月八省联考 化学(河南卷) 真题详细解读及评析
评论
0/150
提交评论