第3章-运算方法和运算器课件.ppt

上传人(卖家):三亚风情 文档编号:3032530 上传时间:2022-06-24 格式:PPT 页数:74 大小:3.10MB
下载 相关 举报
第3章-运算方法和运算器课件.ppt_第1页
第1页 / 共74页
第3章-运算方法和运算器课件.ppt_第2页
第2页 / 共74页
第3章-运算方法和运算器课件.ppt_第3页
第3页 / 共74页
第3章-运算方法和运算器课件.ppt_第4页
第4页 / 共74页
第3章-运算方法和运算器课件.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、3.2 定点乘法运算定点乘法运算3.1 定点加减运算定点加减运算3.3 定点除法运算定点除法运算3.4 浮点四则运算浮点四则运算3.5 算术逻辑运算单元算术逻辑运算单元 第一节第一节 定点加减运算定点加减运算3.1.1 补码加减法补码加减法数用补码表示,符号位参加运算。数用补码表示,符号位参加运算。实际操作能否只取决于操作码实际操作能否只取决于操作码?结果需不需修正?结果需不需修正?如何将减法转换为加法?如何将减法转换为加法?1. 基本关系式基本关系式 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补 (2)式(式(1):):操作码为

2、操作码为“加加”时,两数直接相加。时,两数直接相加。3) X= 3 Y= 2 X补补=0 0011 Y补补=1 11100 0001(+1补码)补码)2) X= 3 Y= 2 X补补=1 1101 Y补补=1 11101 1011 ( 5补码)补码)1) X=3 Y=2 X补补=0 0011 Y补补=0 00100 0101(+5补码)补码)4) X= 3 Y= 2 X补补=1 1101 Y补补=0 00101 1111 (1补码)补码)例例. 求求(X+Y)补补 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补 (2)式(式(2):

3、):操作码为操作码为“减减”时,将减转换为加。时,将减转换为加。 1) X= 4 Y= 5 X补补=0 0100 Y补补=1 1011(-Y)补补=0 01010 1001(+9补码)补码)2) X= 4 Y= 5 X补补=1 1100 Y补补=0 0101(-Y)补补=1 10111 0111 (9补码)补码)例例. 求求(X Y)补补Y补补 (Y)补补:将将Y Y补补变补变补不管不管Y Y补补为正或负,将其符号连同为正或负,将其符号连同尾数一起各位变反,末位加尾数一起各位变反,末位加1 1。即将减数变补后与被减数相加。即将减数变补后与被减数相加。 X补补=0 0100 Y补补=1 1011

4、 X补补=1 1100 Y补补=0 0101注意:某数的注意:某数的补码表示补码表示与某数与某数变补变补的区别。的区别。例例. 1 0101. 1 0101原原 1 10111 1011补码表示补码表示1 00111 0011补补 0 11010 1101变补变补 0 0101 0 0101原原 0 01010 0101补码表示补码表示符号位不变;符号位不变;负数尾数改变,负数尾数改变,正数尾数不变。正数尾数不变。0 00110 0011补补 1 11011 1101变补变补符号位改变,符号位改变,尾数改变。尾数改变。补码的机器负数补码的机器负数运算规则补充:符号位的进位是模,作为溢出量,应运

5、算规则补充:符号位的进位是模,作为溢出量,应该丢掉。该丢掉。2. 算法流程算法流程操作数用补码表示,操作数用补码表示,符号位参加运算符号位参加运算结果为补码表示,符结果为补码表示,符号位指示结果正负号位指示结果正负X补补+Y补补X补补+(-Y)补补ADDSUB3. 逻辑实现逻辑实现A(X补补)B(Y补补)+AABB+B+B+1CPA A(1)控制信号控制信号加法器输入端:加法器输入端:+A+A:打开控制门,将:打开控制门,将A A送送。+B+B:打开控制门,将:打开控制门,将B B送送。+1+1:控制末位加:控制末位加 1 1 。+B+B:打开控制门,将:打开控制门,将B B送送。加法器输出端

6、:加法器输出端: A:打开控制门,将结打开控制门,将结 果送果送A输入端。输入端。CPCPA A:将结果打入:将结果打入A A。(2)补码加减运算器粗框补码加减运算器粗框3.1.2 溢出判断溢出判断在什么情况下可能产生溢出?在什么情况下可能产生溢出?例例. .数数A A有有4 4位尾数,位尾数,1 1位符号位符号S SA A 数数B B有有4 4位尾数,位尾数,1 1位符号位符号S SB B 符号位参符号位参加运算加运算 结果符号结果符号S Sf f符号位进位符号位进位C Cf f尾数最高位进位尾数最高位进位C C正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2

7、)A=10 B=7 10+7: 0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4 6+(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100(2)A=10 B=7 10+7 :0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011.

8、 硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出= = S SA AS SB BS Sf fS SA AS Sf fS SB B2. 硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7: 0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4

9、 6+(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100Cf=0Cf=0C =0C =0Cf=0Cf=0C =1C =1Cf=1Cf=1C =1C =1Cf=1Cf=1C =0C =0Cf=1Cf=1C =1C =1Cf=0Cf=0C =0C =0111111(2)A=10 B=7 10+7 : 0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出= = S SA AS

10、SB BS Sf fS SA AS Sf fS SB B2. 硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出= C= Cf f C C3. 硬件判断逻辑三硬件判断逻辑三(双符号位(双符号位)(1)3+2:正确正确00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)-3+(-2):11 1011 11 110111 1110(4)-10+(-7):10 1111 11 011011 1001(5)6+(-4):00 0010 00 011011 1100(6)-6+4:11 111

11、0 11 101000 0100第一符号位第一符号位Sf1第二符号位第二符号位Sf2溢出溢出= S= Sf1f1 S Sf2f2(2)A=10 B=7 10+7 : 0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)2. 硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)3. 硬件判断逻辑三硬件判断逻辑三(双符号位(双符号位)溢出溢出= = S SA AS SB BS Sf fS SA AS Sf fS SB B溢出溢出= C= Cf f C

12、 C3.1.3 移位操作移位操作逻辑移位逻辑移位 :数码位置变化,数值:数码位置变化,数值不变不变.1. 移位类型移位类型算术移位算术移位 1 0 0 0 1 1 1 1循环左移:循环左移:0 :数码位置变化,数值:数码位置变化,数值变化变化,符号位不变。符号位不变。1 0 0 1 1 1 1 算术左移:算术左移:1 0 0 1 1 1 1 10 1 1 1 1 0 (-15)(-30)(1)单符号位)单符号位 : 0 01110 1110 (2)双符号位:)双符号位:00 1110 00 01112.正数补码移位规则正数补码移位规则(3 3)移位规则)移位规则左移左移右移右移右移右移0 01

13、11 0 0011 左移左移左移左移右移右移右移右移01 1100 00 1110 00 0111 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)。空位补空位补0,(左移时尾数低位补左移时尾数低位补0;右移时尾数高位;右移时尾数高位补补0,右移时第二符号位移至尾数最高位,右移时第二符号位移至尾数最高位)(1)单符号位)单符号位 : 1 10111 0110 (2)双符号位:)双符号位:10 1100 11 01103.负数补码移位规则负数补码移位规则(3 3)移位规则)移位规则左移左移1 1011 1 1101 左移左移11 0110 11 10

14、11 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)。左移空位补左移空位补0(第二符号位移至尾数最高位)(第二符号位移至尾数最高位).右移空位补右移空位补1右移右移右移右移右移右移右移右移易出错处易出错处正确:正确:正确:正确:00 1110 左移左移00 1100 01 1100 01 1100 00 1110 右移右移11 0110 左移左移11 1100 10 1100 10 1100 11 0110 11 1110 右移右移00 0110 正确:正确:正确:正确:结论:双符号位在左移的时候,如果尾结论:双符号位在左移的时候,如果尾 数最高

15、位有进位,不论正数或负数最高位有进位,不论正数或负 数都把它保存到第二符号位;右数都把它保存到第二符号位;右 移时把第二符号位的值移到尾数移时把第二符号位的值移到尾数 的最高位。的最高位。3.1.4 舍入方法舍入方法1. 0 0舍舍1 1入(原码、补码)入(原码、补码)0 00100原原 1 00101原原 1 11011补补 2. 末位恒置末位恒置1 1(原码、补码)(原码、补码)0 00100原原 1 11011补补 1 00101原原 0 0010原原 1 0011原原 1 1110补补 0 0011原原 1 0011原原 1 1101补补 1 0011原原 1 1101补补 例例. 保

16、留保留4位尾数:位尾数: 例例. 保留保留4位尾数:位尾数: 3.2 定点乘法运算定点乘法运算3.2.1 原码一位乘法原码一位乘法 每次用一位乘数去乘被乘数。每次用一位乘数去乘被乘数。 1.1.算法分析算法分析乘法乘法 部分积累加、移位。部分积累加、移位。例例. 0.11011.10111.1011乘积乘积 P = X P = X Y Y积符积符 S SA A= S= SX X S SY YX原原Y原原(1 1)手算)手算 0.11010.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.1000111

17、1上符号:上符号:1.100011111.10001111部分积部分积问题:问题:1 1)加数增多(由乘数位数决定)。)加数增多(由乘数位数决定)。 2 2)加数的位数增多(与被乘数、乘)加数的位数增多(与被乘数、乘 数位数有关)。数位数有关)。改进:将一次相加改为分步累加。改进:将一次相加改为分步累加。特点:特点:1.每次用一位乘数去乘上被乘数得到一项部分积。由于乘数每一位或者是每次用一位乘数去乘上被乘数得到一项部分积。由于乘数每一位或者是“1”或者或者是是“0”,所以得到的部分积或者是被乘数本身或者是,所以得到的部分积或者是被乘数本身或者是0。因此,我们进行乘法运。因此,我们进行乘法运算的

18、时候,实际上就是根据乘数每一位的状态来判断获得的部分积到底是算的时候,实际上就是根据乘数每一位的状态来判断获得的部分积到底是被乘数被乘数还是还是0。2. 所得到的部分积是逐项左移的。因为乘数各位的权值是逐项增大,所以用乘数的所得到的部分积是逐项左移的。因为乘数各位的权值是逐项增大,所以用乘数的各位分别去乘上被乘数,那么得到的部分积的权值也是逐项增大。各位分别去乘上被乘数,那么得到的部分积的权值也是逐项增大。(2 2)分步乘法)分步乘法每次将一位乘数所对应的部分积与每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。原部分积的累加和相加,并移位。设置寄存器:设置寄存器: A A:存放:存

19、放部分积累加和、乘积高位部分积累加和、乘积高位 B B:存放:存放被乘数被乘数 C C:存放:存放乘数、乘积低位乘数、乘积低位 设置初值:设置初值: A = 00.0000A = 00.0000 B = X = 00.1101 B = X = 00.1101 C = Y = .1011 C = Y = .1011 问题:问题:1.1.既然是绝对值运算为什么有符号位?既然是绝对值运算为什么有符号位?2.2.要使加数位数仍然保持要使加数位数仍然保持4 4位,也就是让位,也就是让B B寄寄存器仍然保持存器仍然保持4 4位,如何实现?位,如何实现?步数步数 条件条件 操作操作 A C A C 00.0

20、000 .101 00.0000 .1011 1 1 1)C Cn n=1=1+B+BC Cn n+ 00.1101+ 00.110100.00.11011101 0.1101 0.1101 0.1010.1011 1 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111BC 1101 1101 00.00.011001101 1.10.101 1 0.1101 0.1101 0.100.101 11 12 2)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0011001100.00.10

21、0110011111.1.10 0 0.1101 0.1101 0.10.10 01111 0.1101 0.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111BC3 3)C Cn n=0=0+0+0+ 00.0000+ 00.000000.00.1001100100.00.01000100111111. .1 14 4)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0001000100.00.1000100011111111X X原原Y Y原原 =

22、1.10001111= 1.10001111A寄存器内容右移一位,寄存器内容右移一位,“1”移至移至C寄存器高位。寄存器高位。C寄存器最末位判断完之后,没有必要保存,就可寄存器最末位判断完之后,没有必要保存,就可以把以把Cn丢掉。这样后面各位都依次右移一位,这丢掉。这样后面各位都依次右移一位,这样空出样空出C的高位,用的高位,用C的高位保存的高位保存A的低位。的低位。 2. .算法流程算法流程0 A0 A、X BX B、Y CY C、0 CR0 CRC Cn n = 1 = 1 ?CR = n CR = n ?1/21/2(A+BA+B) A A,C C1/21/2(A+0A+0) A A,C

23、 C CR + 1 CR CR + 1 CRYYNN Sx + Sy S Sx + Sy SA A 3.3.运算规则运算规则(1 1)操作数、结果用原码表示;)操作数、结果用原码表示;(2 2)绝对值运算,符号单独处理;)绝对值运算,符号单独处理;(3 3)被乘数)被乘数(B)(B)、累加和、累加和(A)(A)取双符号位;取双符号位;(4 4)乘数末位)乘数末位( (C Cn n) )为判断位,其状态决定为判断位,其状态决定 下步操作;下步操作;(5 5)作)作n n次循环(累加、右移)。次循环(累加、右移)。3.2.1 补码一位乘法补码一位乘法 1.1.算法分析算法分析 X X补补 = X=

24、 X0 0.X.X1 1X X2 2X Xn n(1 1)Y Y为正:为正:Y Y补补 = 0.Y= 0.Y1 1Y Y2 2Y Yn n (XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n) )(2 2)Y Y为负:为负:Y Y补补 = 1.Y= 1.Y1 1Y Y2 2Y Yn n (XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补(3 3)Y Y符号任意:符号任意: (XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补Y Y0 0符号位符

25、号位(4 4)展开为部分积的累加和形式:)展开为部分积的累加和形式:(XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补Y Y0 0 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)-X)-X补补Y Y0 0 = X= X补补(-Y(-Y0 0+ +2 Y2 Y1 1+ +2 Y2 Y2 2+ + +2 Y2 Yn n) )-1-1 -2-2 -n-n = X= X补补 -Y-Y0 0+(+(Y Y1 1-2 Y-2 Y1 1)+()+(2 Y2 Y2 2-2 Y-2 Y2 2)+)+-1-1 -1 -2-1 -2-(n

26、-1) -n-(n-1) -n +(+(2 Y2 Yn n-2 Y-2 Yn n) ) = X= X补补 (Y(Y1 1-Y-Y0 0)+2 (Y)+2 (Y2 2-Y-Y1 1)+2 (Y)+2 (Y3 3-Y-Y2 2)+)+-1 -2-1 -2 +2 (0 -Y+2 (0 -Yn n) )-n-n +2 (+2 (0 0 -Y -Yn n) )-n-nY Yn+1n+1 = = X X补补 ( (Y Y1 1-Y-Y0 0)+2 ()+2 (Y Y2 2-Y-Y1 1)+2 ()+2 (Y Y3 3-Y-Y2 2)+)+-1 -2-1 -2 +2 (+2 (0 0 -Y-Yn n) )-

27、n-nY Yn+1n+1比较法:用相邻两位乘数比较的结果决定比较法:用相邻两位乘数比较的结果决定 +X+X补补、-X-X补补或或+0+0。特点:现在所获得的新乘数的各位是原来乘数相邻两位相减的特点:现在所获得的新乘数的各位是原来乘数相邻两位相减的 结果,相减的结果就是相邻两位比较的结果,我们把这结果,相减的结果就是相邻两位比较的结果,我们把这 种乘法称为比较法。种乘法称为比较法。比较法说明:比较法说明:1. 1. 跟原码一样,每次累加和也都要右移,所跟原码一样,每次累加和也都要右移,所以乘数各位都要依次移至以乘数各位都要依次移至YnYn和和Yn+1Yn+1,因此我们,因此我们把把YnYn和和Y

28、n+1Yn+1作为判断位。作为判断位。2. 2. 符号位累加之后不再移位符号位累加之后不再移位。即当乘数尾数。即当乘数尾数最高位和符号位进行比较之后呢,仅仅根据比最高位和符号位进行比较之后呢,仅仅根据比较的结果来对原来得到的乘积(累加和)进行较的结果来对原来得到的乘积(累加和)进行修正,而不再右移。修正,而不再右移。 2.2.比较法比较法算法算法Y Yn n( (高位高位) ) Y Yn+1n+1( (低位低位) ) 操作操作(A(A补补为部分积累加和为部分积累加和) ) 0 00 00 10 11 01 01 1 1 1 1/2A1/2A补补 1/2(A1/2(A补补+X+X补补) ) 1/

29、2(A 1/2(A补补-X-X补补) ) 1/2A 1/2A补补( 0 )( 0 )( 1 )( 1 )(-1 )(-1 )( 0 )( 0 )3.3.运算实例运算实例X=-0.1101,Y=-0.1011,X=-0.1101,Y=-0.1011,求求(XY)(XY)补补。初值:初值:A=00.0000,B=XA=00.0000,B=X补补=11.0011,=11.0011, -B=(-X) -B=(-X)补补=00=00.1101,C =Y.1101,C =Y补补=1=1.0101.0101步数步数 条件条件 操作操作 A C A C 00.0000 1.010 00.0000 1.0101

30、 1 1 1)1 01 0-B-BC Cn n+ 00.1101+ 00.110100.00.1101110100.00.011001101 11.011.0101012 2)0 10 1+B+B+ 11.0011+ 11.001111.11.1001100111.11.1100110011111.01.010103 3)1 01 0-B-B+ 00.1101+ 00.110100.00.1001100100.00.010001001111111.1.01014 4)0 10 1+B+B+ 11.0011+ 11.001111.11.0111011111.11.1011101111111111

31、1.01.00 0 C Cn+1n+1C Cn nC Cn+1n+15 5)1 01 0-B-B+ 00.1101+ 00.1101(XY)(XY)补补 = 0.10001111= 0.100011114 4)0 10 1+B+B+ 11.0011+ 11.001111.11.0111011111.11.10111011111111111.01.05 5)1 01 0-B-B+ 00.1101+ 00.110100.00.1000100011111111修正修正(1)A(1)A、B B取双符号位,符号参加运算;取双符号位,符号参加运算;(2)C(2)C取单符号位,符号参加移位,以决定最后是否取

32、单符号位,符号参加移位,以决定最后是否 修正;修正;(3)C(3)C末位设置附加位末位设置附加位C Cn+n+1 1,初值为,初值为0 0,C Cn nC Cn+n+1 1组成判组成判 断位,决定运算操作断位,决定运算操作;(4)(4)作作n n步循环步循环, ,若需作第若需作第n+1n+1步步, ,则不移位则不移位, ,仅修正。仅修正。 4.4.运算规则运算规则1.0 : -B修正修正0.1 : +B修正修正0.0 : 不修正不修正1.1 : 不修正不修正 3.3 定点除法运算定点除法运算除法除法 若干余数与除数加减、移位。若干余数与除数加减、移位。例例. 0.10110. 0.101100

33、.111110.111110.101100.10110 1101 11010.0.0 01 1 11111 111110.111110.111110 00 00 01 1 11111 11111 10101 101010 01 1 11111 11111 1011 10110 00 0.0000000000.0.0.商:商: 0.101100.10110余数:余数:0.101100.101102 2 5实现除法的关键:实现除法的关键:比较余数、除数比较余数、除数绝对值大小,以绝对值大小,以决定上商。决定上商。3.3.1 原码恢复余数法原码恢复余数法1.1.算法算法 比较两数大小可用减法试探。比

34、较两数大小可用减法试探。2 2余数余数- -除数除数= =新余数新余数为正为正: :够减够减, ,商商1 1。为负为负: :不够减不够减, ,商商0,0,恢复原余数。恢复原余数。2.2.实例实例X=-0.10110X=-0.10110,Y=0.11111Y=0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R设置:设置:A A:被除数、余数,:被除数、余数,B B:除数,:除数,C C:商:商初值:初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q =

35、0.00000 -B= 11.00001 -B= 11.00001步数步数 条件条件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)0 0-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.00000.00001 12 2)1 1 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.00010103 3)恢复余数恢复余数+B+B+00.11111+00.1111100.1101000.1101001.1010

36、001.101000.000.001011014 4)0 0-B-B +11.00001+11.0000100.1010100.10101C Cn nS SA AQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r2 2r r2 22r2r2 2r r3 3步数步数 条件条件 操作操作 A C A C 00.10101 0.0000.10101 0.00101101 5 5)0 0-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.0101110116 6)1 1 -B-B00

37、.1011000.10110+11.00001+11.0000111.1011111.101110.0.10110101107 7)恢复余数恢复余数+B+B+00.11111+00.1111100.1011000.10110Q= -0.10110Q= -0.10110C Cn nQ Q4 4 Q Q5 5 Q Q3 3 r r3 32r2r3 3r r4 42r2r4 4r r5 5r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=-0.10110+X/Y=-0.10110+-0.10110-0.101102 2-5-5 0.11111 0.111113.3.说明说明(

38、1 1)A A、B B双符号位,双符号位,X X、Y Y绝对值,绝对值,X X 小于小于 Y Y 。(2 2)运算结束后,余数乘以)运算结束后,余数乘以2 2 ,与被除数同号。,与被除数同号。-n3.3.2 原码不恢复余数法(加减交替法)原码不恢复余数法(加减交替法)1.1.算法分析算法分析第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步: :r r2 2+B=+B=r r2(2(恢复余数恢复余数) )第四步第四步: :2 2r r2 2-B=-B=r r3 32 2r r2 2-B=2(-B=2(r r2 2+B)-B+B)-B =2 =2r r2 2+B=+B=

39、r r3 3 第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步: :2 2r r2 2+B=+B=r r3 3 ( (不恢复余数不恢复余数) )凡是新的余数小于凡是新的余数小于0 0,下一步,下一步就将它左移之后加上除数;就将它左移之后加上除数;凡是新的余数大于凡是新的余数大于0 0,下一步,下一步就将它左移之后减去除数。就将它左移之后减去除数。2.2.算法算法 r ri+1i+1=2=2r ri i+(1-2Q+(1-2Qi i)Y)Yr ri i为为正,正,则则Q Qi i为为1 1,第第i+1i+1步作步作2 2r ri i-Y-Y;r ri i为为负,负,则

40、则Q Qi i为为0 0,第第i+1i+1步作步作2 2r ri i+Y+Y。3.3.实例实例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R。初值:初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B=11.00001 -B=11.00001步数步数 条件条件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)为

41、正为正-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.00000.00001 12 2)为负为负 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.00010103 3)+B+B+00.11111+00.1111111.1011011.101100.000.00101101为正为正00.1010100.10101C Cn n r rQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r2 22r2r2 2r r

42、3 34 4)为正为正-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.010111011Q Q4 4 2r2r3 3r r4 4步数步数 条件条件 操作操作 A C A C 00.01011 0.000.01011 0.010111011 6 6)为负为负 恢复余数恢复余数+B+B+00.11111+00.1111100.1011000.10110Q= -0.10110Q= -0.10110C Cn nQ Q4 4 r r4 45 5)为正为正-B-B 00.10110 00.10110+11.00001+11.0000

43、111.1011111.101110.0.1011010110Q Q5 5 2r2r4 4r r5 5r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=-0.10110+X/Y=-0.10110+ 0.10110 0.101102 2-5-5 -0.11111 -0.11111 4.4.运算规则运算规则(1 1)A A、B B取双符号位,取双符号位,X X、Y Y取绝对值运算,取绝对值运算,X Y X Y 。(2 2)根据余数的正负决定商值及下一步操作。)根据余数的正负决定商值及下一步操作。(3 3)求)求n n位商,作位商,作n n步操作;若第步操作;若第n n步余数

44、为负,则第步余数为负,则第n+1n+1步恢复余数,不移位。步恢复余数,不移位。3.3.3 补码不恢复余数法(加减交替法)补码不恢复余数法(加减交替法)如何判断是否够减?如何判断是否够减? 如何上商?如何上商? 如何确定商符?如何确定商符? 1.1.判够减判够减(1)(1)同号相除同号相除4 74 77 47 4-4 -7-4 -7-7 -4-7 -41 1-4 7-4 7-7 4-7 44 -74 -77 -47 -40 01 10 0-4-43 3-7-7-3-3-(-4)-(-4)-3-3-(-7)-(-7)3 3够减够减不够减不够减够减够减不够减不够减够减:够减:r与与X、Y同号;同号;

45、不够减:不够减:r与与X、Y异号。异号。(2)(2)异号相除异号相除 1 10 0 1 1 0 0+(-4)+(-4) 3 3+(-7)+(-7)-3-3 +4 +4-3-3 +7 +7 3 3够减够减够减够减不够减不够减不够减不够减够减:够减:r与与X同号同号,与与Y异号;异号;不够减:不够减:r与与X异号异号,与与Y同号。同号。(3 3)判断规则)判断规则同号:作同号:作X X补补-Y-Y补补X X补补Y Y补补够减够减:r r补补与与Y Y补补同号同号不够减不够减:r r补补与与Y Y补补异号异号异号:作异号:作X X补补+Y+Y补补够减够减:r r补补与与Y Y补补异号异号不够减不够减

46、:r r补补与与Y Y补补同号同号2.2.求商值求商值X X补补Y Y补补同号:商为正同号:商为正异号:商为负异号:商为负够减商够减商1 1不够减商不够减商0 0够减商够减商0 0不够减商不够减商1 1( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )够减够减商商1 1不够减商不够减商0 0够减商够减商0 0不够减不够减商商1 1( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )( (r r、Y Y同号同号) )( (r r

47、、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )够减够减商商1 1不够减不够减商商0 0够减够减商商0 0不够减不够减商商1 1上商规则:上商规则:Q Qi i=Sr=Sri iS SY Y余数与除数同号商余数与除数同号商1 1,异号商,异号商0 0。3.3.算法算法 ( (r ri+1i+1) )补补=2=2r ri i补补+(1-2Q+(1-2Qi i补补)Y)Y补补r ri i补补与与Y Y补补同号同号,则则Q Qi i补补为为1 1,第第i+1i+1步作步作2 2r ri i补补-Y-Y补补;r ri i补补与与Y Y补补异号异号,则则Q Qi

48、 i补补为为0 0,第第i+1i+1步作步作2 2r ri i补补+Y+Y补补。4.4.求商符求商符令令X X补补 = = r r0 0补补r r0 0补补与与Y Y补补同号:同号:Q Q0 0补补=1=1异号:异号:Q Q0 0补补=0=0与实际商与实际商符相反符相反商符商符5.5.商的校正商的校正X X补补Y Y补补=(-1+2 + 2 Qi=(-1+2 + 2 Qi补补)+ )+ 2 2 r rn n补补Y Y补补-n-in-1i=0-n商商余数余数(1 1)求)求n-1n-1位商位商( (假商假商) )(2 2)第)第n n位商位商( (末位商末位商) )恒置恒置1 1(3 3)商符变

49、反)商符变反(4 4)余数求至)余数求至rnrn6.6.实例实例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R。初值:初值:A =XA =X补补=00.10110=00.10110 B =Y B =Y补补=11.00001 =11.00001 C =QC =Q补补=0.00000=0.00000 -B =00.11111 -B =00.11111步数步数 条件条件 操作操作 A C A C 00.10110 0.000000.10110 0.0000 1 1)异号异号+B+B 01.01100 01.0

50、1100+11.00001+11.0000100.0110100.01101 0.00 0.0000002 2)同号同号 +B+B00.1101000.11010+11.00001+11.0000111.1101111.11011 0.0 0.0001001C Cn n-1-1r r、Y YQ Q1 1 Q Q2 2 r r0 02r2r0 0r r1 12r2r1 1r r2 2求商符求商符Q Q0 0 异号异号0 0 5 5)+B+B+11.00001+11.0000100.1011000.1011011.1011111.10111步数步数 条件条件 操作操作 A C A C 11.110

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第3章-运算方法和运算器课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|