计算机组成原理加法减法运算,计算机组成原理第二章第5讲定点加法、减法运算.ppt...

定点加法、减法运算,,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]补 0 1 0 0 1 + [y]补 0 0 1 0 1 ———————————————— [x+y]补 0 1 1 1 0 ∴ x+y = +1110,2.2.1 补码加法,[例12] x=+1001 , y=-0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 11011 [x]补 0 1 0 0 1 + [y]补 1 1 0 1 1 ———————————————— [x+y]补 1 0 0 1 0 0 ∴ x+y = +0100,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]补 (证明略) 计算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位已经超过字长故应丢掉,待计算的两个数:x,y均以补码形式出现,现在期望得到[-y]补,怎么转换? 注意:已知[y]补求[-y]补方法: 连符号位一起各位求反,末位加1。 公式:[-y]补 = -[y]补 + 2-n 2-n涵义:最末位的1,,例:[X]补=11010101 解:,由[-X]补求[X]补,此规则同样适用。,[X]补= 1 1 0 1 0 1 0 1,[-X]补=,0,0,0,0,1,1,1,0,+,1,,0 0 1 0 1 0 1 1,提问: 由[X]补求[X/2]补?,X与X/2 X:10110 向右移动一位:01011 =x/2,由[X]补求[X/2]补? 将[X]补的符号位和数值位一起向右移动一次.符号位移走后保持原来的值不变. 例:,[X]补=,1,0,0,1,1,0,0,0,[X/2]补=,1,0,1,0,1,0,0,0,1,这称为 “算术移位”,[X/4]补和[X/8]补同理,[例13] 已知x1=-1110 , x2=+1101 , 求: [x1]补 , [-x1]补 , [x2]补 , [-x2]补 。 解: [x1]补 = 10010 [-x1]补 = 01101 + 00001 = 01110 [x2]补 = 01101 [-x2]补 = 10010 + 00001 = 10011,,[例14] x=+1101 , y=+0110 , 求 x-y=? 解:[x]补 = 01101 [y]补 = 00110 , [-y]补 = 11010 [x]补 0 1 1 0 1 + [-y]补 1 1 0 1 0 ———————————————— [x-y]补 1 0 0 1 1 1 ∴ x-y = +0111,,以一个字节存储练习: -1+0.01 -0.1011-0.0010,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 判断?溢出?,

展开阅读全文

你可能感兴趣的:(计算机组成原理加法减法运算)