计算机组成原理第二章 第5讲 定点加法、减法运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由[-X]补求[X] 补,此规则 同样适用。
提问: 由[X]补求[X/2]补?
X与X/2 X:10110
向右移动一位:01011
=x/2
由[X]补求[X/2]补?
将[X]补的符号位和数值位一起向右移动一次.
符号位移走后保持原来的值不变. 例:
[X]补= 1 0 1 0 1 0 0 0 [X/4]补和 [X/8]补同理 [X/2]补= 1 1 0 1 0 1 0 0 0 这称为 “算术移位”
[例14]
x=+1101 , y=+0110 , 求 x-y=? 解:[x]补 = 01101 [y]补 = 00110 , [-y]补 = 11010
[x]补 01101 + [-y]补 11010 ———————————————— [x-y]补 100111 ∴ x-y = +0111
以一个字节存储练习: -1+0.01 -0.1011-0.0010
计算x-y,须得到[x-y]补
2、补码减法
最大的优点就是将减法运算转换成加法
运算。 [X-Y]补= [X]补+[-Y]补 = [X]补-[Y]补
[-Y]补=- [Y]补 (mod 2n+1)
证明过程略
例如 X=(11)10=(1011)2 Y=(5)10=(0101)2 已知字长n=5位,求x-y。 [x-y]补=[X]补+[-Y]补 =01011+11011=100110=00110=(6)10 注: 最高1位已经超过字长故应丢掉
定点加法、减法运算
2.2 定点加法、减法运算
2.2.1补码加减法 2.2.2溢出检测 2.2.3基本的加法和减法器 2.2.4十进制加法器
源自文库
2.2.1补码加减法
补码加法
公式:[x+y]补=[x]补+[y]补
证明过程略
验证过程可以有
2.2.1 补码加法
[例11]
x=+1001 , y=+0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 00101 [x]补 01001 + [y]补 00101 ———————————————— [x+y]补 01110
∴ x+y = +1110
2.2.1 补码加法
[例12]
x=+1001 , y=-0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 11011 [x]补 01001 + [y]补 11011 ———————————————— [x+y]补 100100
∴ x+y = +0100
[例13]
已知x1=-1110 , x2=+1101 , 求: [x1]补 , [-x1]补 , [x2]补 , [-x2]补 。
解: [x1]补 = 10010 [-x1]补 = 01101 + 00001 = 01110
[x2]补 = 01101
[-x2]补 = 10010 + 00001 = 10011
2.2.1补码加减法
特殊例子:
x=+0.11011,y=-0.11111,求x-y。 [x]补=0.11011 [y]补=1.00001 输入的两个数是补码形式 [-y]补=0.11111 [x-y]补=[x]补+[-y]补 =0.11011+0.11111 =1.11010 x-y=-0.00110 判断?溢出?
待计算的两个数:x,y均以补码形式出现, 现在期望得到[-y]补,怎么转换? 注意:已知[y]补求[-y]补方法: 连符号位一起各位求反,末位加1。 公式:[-y]补 = -[y]补 + 2-n 2-n涵义:最末位的1
例:[X]补=11010101 解:
[X]补= + [-X]补= 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1
2.2.1补码加减法
例
x=-0.1011,y=0.0111,求x+y
[x]补=1.0101 [y]补=0.0111 [x+y]补=[x]补+[y]补 =1.0101+0.0111=1.1100 x+y=-0.0100
2.2.1 补码加法
补码减法
公式: [x-y]补=[x]补+[-y]补 (证明略)