第四章——运算方法和运算部件_第1页
第四章——运算方法和运算部件_第2页
第四章——运算方法和运算部件_第3页
第四章——运算方法和运算部件_第4页
第四章——运算方法和运算部件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成与结构计算机组成与结构王爱英(第四版)齐鲁师范学院 梁晨第第三三章章运运算算方方二进制数据表示方法及加减运算n3.3 二进制乘法运算n3.4 二进制除法运算n3.5 浮点数的运算方法n3.6 运算部件n3.7 数据校验码本章处处理,理,在在计计算算机机内内部,部,各各种种信信息息都都必必须须采采用用数数字字化化编编码,码,即即用用最最简简单单的的二二进进制制数数码码来来表表示。示。n本本章章主主要要介介绍绍常常用用的的进进位位计计数数制、制、二二进进制制运运算算及及其其实实现、现、无无符符号号数数和和带带符符号号数数的的表表示示方方法、法、数数的的定定点点与与浮浮点点表表示示方方法、

2、法、字字符符和和汉汉字字的的编编码码方方法法及及数数据据校校验验码码等。等。n熟熟悉悉和和掌掌握握本本章章的的内内容容是是学学习习计计算算机机原原理理的的最最基基本本要要求。求。3.1 数数据据利利用用符符号号来来计计数数的的方方法。法。二二进进制、制、十十进进制、制、八八进进制制和和十十六六进进制制是是学学习习计计算算机机知知识识应应该该掌掌握握的的数数制。制。R R进进制制的的数,数,都都有有以以下下三三个个要要点点: :( (1) 1) 基基数数为为R R,即即使使用用R R个个数数码。码。( (2) 2) 进进位位规规则则为为逢逢R R进进一一( (3) 3) 第第i i个个数数位位上

3、上的的数数码码所所具具有有的的位位权权为为R Ri i。数数值值可可用用下下面面的的通通式式表表示:示:N N = = a an n- -1 1R Rn n- -1 1+ + a an n- -2 2R Rn n- -2 2+ + +a a1 1R R1 1+ +a a0 0R R0 0+ + +a am mR R- -m m数制法法, , 即即把把各各数数位位乘乘权权R Ri i后后再再相相加。加。例例1 1 将将二二进进制制数数1 10 01 11 11. 1.1 1转转换换成成十十进进制制数。数。( (1 10 01 11 11. 1.1) 1)2 2= =1 12 24 4+ +0 0

4、2 23 3+ +1 12 22 2+ +1 12 21 1+ +1 12 20 0+ +1 12 2- -1 1= =1 16 6+ +0 0+ +4 4+ +2 2+ +1 1+ +0. 0.5 5= =2 23. 3.5 5例例2 2 将将十十六六进进制制数数3 35 5C CH H转转换换成成十十进进制制数数( (3 35 5C)C)1 16 6= =3 31 16 62 2+ +5 51 16 61 1+ +1 12 21 16 6 0 0= =7 76 68 8+ +8 80 0+ +1 12 2= =8 86 60 0例例3 3 将将八八进进制制数数1 12 27. 7.1 1转

5、转换换成成十十进进制制数数( (1 12 27. 7.1) 1) 8 8= =1 18 82 2+ +2 28 81 1+ +7 78 80 0+ +1 18 8- -1 1= = 8 87. 7.1 12 25 5不不同同数数制制间间数数转转换换方方法法:乘乘基基数数(R R)取取整。整。例例4 4 将将十十进进制制数数4 45. 5.2 25 5转转换换成成二二进进制制数数整整数数部部分分小小数数部部分分4 45 52 2= =2 22 2 余余1 1 低低位位0. 0.2 25 52 2= =0. 0.5 5 取取整整数数0 0 高高位位2 22 22 2= =1 11 1 余余0 01

6、 11 12 2= =5 5 余余1 1 0. 0.5 52 2= =1. 1.0 0 取取整整数数1 1 低低位位5 52 2= =2 2 余余1 12 22 2= =1 1 余余0 01 12 2= =0 0 余余1 1 高高位位所所以,以,4 45. 5.2 25 5= =( (1 10 01 11 10 01. 1.0 01) 1)2 2或或( (1 10 01 11 10 01. 1.0 01) 1)B B二进制与十六一一组组(不不足足四四位位时时补补0 0), ,依依次次转转换。换。例例6 6 将将二二进进制制数数1 10 00 01 11 10 01 10 01 11 11 1转

7、转换换成成十十六六进进制制数。数。0 01 10 00 0 1 11 10 01 1 0 01 11 11 1 最最高高位位补补0 0(粗粗体体字)字)(4 4 ) ) (D D ) ) (7 7)所所以,以,( (1 10 00 01 11 10 01 10 01 11 11) 1)2 2= =( (4 4D D7) 7)1 16 6或或( (4 4D D7) 7)H H1 16 62 2转转换换方方法法:一一位位变变四四位。位。例例7 7 将将十十六六进进制制数数( (4 4A AC)C)H H转转换换成成二二进进制制数数4 4 A A C C(0 01 10 00 0)(1 10 01

8、10 0)(1 11 10 00 0)所所以,以,( (4 4A AC)C)H H= = ( (0 01 10 00 01 10 01 10 01 11 10 00) 0)B B十十进进制制数数的的十进制数,数位内满足二进制规则,数位间,满足十进制规则,这种编码称为BCD码BCD码算术运算,要对结果进行修正。修正规则:两数每数位相加之和小于等于1001,不需修正,若大于1001,要加6(0110)修正,同时向高位进位无无个编码加上0011形成的,如2的余3码是0101,8的余3码是1011例11:(28)10+(55)100101 1011+ 1000 10001110 0011- 0011

9、+00111011 0110带带符符号号二二进进原码其其最最高高位位为为符符号号位位, , 符符号号位位为为0 0时时表表示示该该数数为为正正, , 符符号号位位为为1 1时时表表示示该该数数为为负负, , 数数值值部部分分与与真真值值相相同。同。n若若真真值值为为纯纯小小数数, , 其其原原码码形形式式为为X XS S . . X X1 1X X2 2X Xn n, , 其其中中X XS S表表示示符符号号位。位。原原码码的的定定义义为:为: XX原原n例例3. 3.1 11 1:X X0. 0.0 01 11 10 0 XX原原X X0. 0.0 01 11 10 0nX X- -0. 0

10、.0 01 11 10 0 , , XX原原1 1X X1 1( (- -0. 0.0 01 11 10) 0)1 10. 0.0 01 11 10 01. 1.0 01 11 10 0 X 0X1 1 1X1 1X 1 1X0, , 其其中中X XS S表表示示符符号号位。位。n原原码码的的定定义义为为: XX原原n例例3. 3.1 12 2:X X1 11 10 01 1 XX原原X X0 01 11 10 01 1X X1 11 10 01, 1, XX原原2 2n nX X2 24 4( (1 11 10 01) 1)1 10 00 00 00 01 11 10 01 1= =1 11

11、 11 10 01 1n原原码码表表示示中,中,真真值值0 0有有两两种种不不同同的的表表示示形形式:式: 0 0原原0 00 00 00 00, 0, 0 0原原1 10 00 00 00 0n原原码码的的优优点点是是直直观观易易懂懂, , 机机器器数数和和真真值值间间的的转转换换很很容容易易, ,用用原原码码实实现现乘、乘、除除运运算算的的规规则则简简单。单。n缺缺点点是是加、加、减减运运算算规规则则较较复复杂。杂。X 0XX 0X2 2n n2 2n nX X2 2n nX, X, 2 2n nX0X反码对对一一个个数数的的各各位位求求反。反。n对对正正数数来来说,说,其其反反码码和和原

12、原码码的的形形式式是是相相同同的,的,而而负负数数的的反反码码是是符符号号位位为为1 1,数数值值部部分分等等于于其其各各位位的的绝绝对对值值求求反。反。如如: :X X XX原原 XX反反1 11 10 01 1 0 01 11 10 01 1 0 01 11 10 01 11 11 10 01 1 1 11 11 10 01 1 1 10 00 01 10 0n在在反反码码表表示示中,中,真真值值0 0也也有有两两种种不不同同的的表表示示形形式:式: 0 0反反0 00 00 00 00 0 0 0反反1 11 11 11 11 1反码练练例3.22,补码值值部部分分的的表表示示与与数数的

13、的正正负负有有关:关:n正正数数: : 数数值值部部分分与与真真值值形形式式相相同;同;x x= =+ +1 11 10 01 10 0 XX补补0 01 11 10 01 10 0n负负数数: : 将将真真值值的的数数值值部部分分按按位位取取反反, , 且且在在最最低低位位加加1 1。x x= =- -1 11 10 01 10 0 XX补补1, 1,0 00 01 11 10 0若若真真值值为为纯纯小小数数, , 其其原原码码形形式式为为X XS S . . X X1 1X X2 2X Xn n, , 其其中中X XS S表表示示符符号号位。位。n小小数数的的补补码码定定义义为为 XX补补

14、n例例3. 3.1 16 6:X X0. 0.0 01 11 10 0 XX补补X X0. 0.0 01 11 10 0X X0. 0.0 01 11 10 0 XX补补2 2X X2 2( (0. 0.0 01 11 10) 0) 1 10 00. 0.0 01 11 10 01. 1.1 10 01 10 0X 0XX 0X1 12 2X X2 2X X 1 1X0X0机机器器数数表表示示X补X原X反X真值符号位+/ -变成0/1数值位不变符号位不变,数值位不变(XS=0) 变反,末位+1(XS=1)符号位不变, 数值位不变(XS=0) 数值位变反(XS=1)图图3-1 三种机器数及真值间

15、的转换关系三种机器数及真值间的转换关系(1)比较比较 对正数而言对正数而言, 上述三种码都等上述三种码都等于真值本身。于真值本身。最高位都表示符号位最高位都表示符号位,补码和反补码和反码的符号位可码的符号位可与与数值位一数值位一样样看待看待,和数值位一起参加运算;但原码和数值位一起参加运算;但原码的符号位必须的符号位必须与数值位与数值位分开处理。分开处理。 原码和反码的真值原码和反码的真值0各有两种各有两种不同的表示方式不同的表示方式,而补码的真值而补码的真值0表示是唯一的表示是唯一的。(2)转换转换三种机器数及真值的转换关系如上图所示。从图中可见三种机器数及真值的转换关系如上图所示。从图中可

16、见, 真值真值X与补与补码或反码间的转换是通过原码实现的码或反码间的转换是通过原码实现的, 当然当然, 对于已熟练掌握转换方对于已熟练掌握转换方法的读者也可直接完成真值法的读者也可直接完成真值X与补码或反码间的转换。与补码或反码间的转换。 加加减减法法运运算算为溢出n溢出的判断(1)当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,则为溢出。(2)当任意符号两数相加时,如果数值最高位进位与符号位进位不相同,则溢出(3)采用双符号位的运算数,正数的双符号位是00,负数的双符号位是11。符号位正常参加运算,若双符号位的两位不相同,则结果溢出。定定点点数数符号数值部分符号数值部分纯小数

17、表示法小数点整数表示法小数点图图3-3 3-3 定点数表示法定点数表示法浮点数msEm尾符 阶码部分尾数数值位尾数部分,用原码表示图3-4 IEEE 754标准的浮点格式尾尾数数的的左移和右移,并修改阶码值使之满足规格化要求n例:浮点数尾数为0.0011,阶码为0100,规格化时将尾数左移2位,成为0.1100,阶码减去010,修改成0010,浮点数保持不变。n浮点数尾数为0,或阶码的值不能在机器中表示的最小值还小,计算机把该浮点数看成零值,称为机器零。浮浮点点数数位,尾数24位(含一位符号位)n双精度浮点数(64位)阶码11位,尾数53位(含一位符号位)n多数计算机中,浮点数的尾数用补码表示

18、,阶码用补码或移码表示数数值值范范表示范围为2127(1223)2127n定点整数(补码)的范围2312311二进制位乘法x.y原x原*y原n基基本本思思想想:每每次次用用乘乘数数的的一一位位去去乘乘被被乘乘数。数。n1.算算法法分分析析例例. 0.11011.10111.1011乘积乘积 P = X P = X Y Y符号符号 S SP P= 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.10001111上符号:上符号:

19、1.100011111.10001111部分积部分积问题:问题:1 1)加数多(由乘数位数决定)。)加数多(由乘数位数决定)。 2 2)加数的位数多(与被乘数、乘)加数的位数多(与被乘数、乘 数位数有关)。数位数有关)。改进:将一次相加改为分步累加。改进:将一次相加改为分步累加。(2 2)分步乘法)分步乘法每次将一位乘数所对应的部分积与每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。原部分积的累加和相加,并移位。设置寄存器:设置寄存器: A A:存放:存放部分积累加和部分积累加和、乘积高位乘积高位 B B:存放:存放被乘数被乘数 C C:存放:存放乘数乘数、乘积低位乘积低位 设置初

20、值:设置初值: A = 00.0000A = 00.0000 B = X = 00.1101 B = X = 00.1101 C = Y = .1011 C = Y = .1011 步数步数 条件条件 操作操作 A C A C 00.0000 .101 00.0000 .1011 1 1 1)C Cn n=1=1+B+BC Cn n+ 00.1101+ 00.110100.00.1101110100.00.011001101 1.10.101 12 2)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0011001100.00.100110011111.1.1

21、0 03 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原原 = 0.10001111= 0.10001111寄存器被清零,作为初始部分积,被乘数放在B寄存器中,乘数放在C寄存器中,部分积和被乘数相加通过给出AALU和B ALU命令,在ALU中完成,ALU的输出经过移位电路向右移一位送入A寄存器,C寄存器使用移位寄存器实现,其低位

22、用作B ALU的控制命令。加法器最低一位的值,右移时将移入C寄存器的最高位,使乘积之积的最低位保存进C寄存器中。 3.3.运算规则运算规则(1 1)操作数、结果用原码表示;)操作数、结果用原码表示;(2 2)绝对值运算,符号单独处理;)绝对值运算,符号单独处理;(3 3)被乘数)被乘数(B)(B)、累加和、累加和(A)(A)取双符号位取双符号位, ,乘数只取乘数只取尾数尾数;(4 4)乘数末位)乘数末位( (CnCn) )为判断位,其状态决定为判断位,其状态决定 下步操作;下步操作;(5 5)作)作n n(乘数有效位数)(乘数有效位数)次循环次循环(累加、右移)累加、右移)定定点点补补码码Xn

23、(1)Y为为正:正:Y补补= 0.Y1Y2Yn(XY)补补= X补补(0.Y1Y2Yn)(2)Y为为负:负:Y补补= 1.Y1Y2Yn(XY)补补= X补补(0.Y1Y2Yn)X补补(3)Y符符号号任任意:意:(XY)补补= X补补(0.Y1Y2Yn)-X补补Y0符号位符号位比比较较法法果果决决定定+X补、补、-X补补或或+0。n例3.35 设X=0.1101,Y=0.1011求(XY)补补比较法比较法算法算法Y Yn n Y Yn+1 n+1 Y Yn+1n+1-Y-Yn n 操作操作(A(A补补为部分积累加和为部分积累加和) ) 0 00 00 10 11 01 01 1 1 1 1/2A

24、1/2A补补 1/2(A1/2(A补补+X+X补补) ) 1/2(A 1/2(A补补-X-X补补) ) 1/2A 1/2A补补0 01 1-1-10 03.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.

25、0101 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.101110111111

26、11111.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.100011115 5)1 01 0-B-B+ 00.1101+ 00.110100.00.1000100011111111修正修正(1)A(1)A、B B取双符号位,符号参加运算;取双符号位,符号参加运算;(2)C(2)C取单符号位,符号参加移位,以决定最后是否取单符号位,符号参加移位,以决定最后是否 修正;修正;(3)C(3)C末位设置附加位末位设置附加位C Cn+n+1 1,初值为,初值为0 0,

27、C Cn nC Cn+n+1 1组成判组成判 断位,决定运算操作断位,决定运算操作;(4)(4)做做n+1n+1步步操作操作, ,其中其中n n步步循环循环, ,最后一最后一步不移位步不移位。 4.4.运算规则运算规则定定点点数数移一位实现,而3倍被乘数的获得可以分两步来完成,利用3=4-1,第一步先完成减1倍被乘数的操作,第二步完成加4倍被乘数的操作。而加4倍被乘数的操作实际上是由比“11”高的两位乘数代替完成的,可以看作是在高两位乘数上加“1”。这个“1”可暂时存在Cj触发器中。机器完成置“1” Cj即意味着对高两位乘数加1,也即要求高两位乘数代替本两位乘数“11”来完成加4倍被乘数的操作

28、。由此可得原码两位乘的运算规则如下表所示。移位,最多作n/2+1次加法。当乘数位为奇数时,乘数高位前可只增加一个“0”,此时需作n/2+1次加法,n/2+1次移位(最后一步移一位)。n乘积的符号为X0Y0n例题3.36 3.4 二进制除法运算二进制除法运算除法除法 加减和移位操作。加减和移位操作。例例. . 手工计算手工计算 0.101100.101100.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

29、 11111 1011 10110 00 0.0000000000.0.0.商:商: 0.101100.10110余数:余数:0.101100.101102 2 5实现除法的关键:实现除法的关键:比较余数和除数的比较余数和除数的绝对值大小,以绝对值大小,以决定上商。决定上商。号的异或值,数值为两数绝对值相除后的结果。n两种方法:恢复余数法与加减交替法P92例子原码恢复余数法原码恢复余数法1.1.算法算法 比较余数和除数的大小可用减法试探。比较余数和除数的大小可用减法试探。余数余数2 - 2 - 除数除数= =新余数新余数为正为正: :够减够减, ,商商1 1。为负为负: :不够减不够减, ,商

30、商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 = 11.00001 -B = 11.00001B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000C= Q = 0.00000寄存器初值:寄存器初值:步数步数 条件条件 操作操作 A

31、 C A C 00.10110 0.0000000.10110 0.00000 1 1)正正-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.00000.00002 2)负负-B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.0001 13 3)恢复余数恢复余数+B+B+00.11111+00.1111100.1101000.1101001.1010001.101000.000.0010104 4)正正-B-B +11.00001+11.0000100.101

32、0100.10101C Cn nr rQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r22r r2 22r2r2 2r r3 3101步数步数 条件条件 操作操作 A C A C 00.10101 0.0000.10101 0.00101101 5 5)正正-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.010101 16 6)负负 -B-B00.1011000.10110+11.00001+11.0000111.1011111.101110.0.101110117 7

33、)恢复余数恢复余数+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 r55r 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.11111103.3.说明说明(1)A(1)A和和B B取双符号位,分别装取双符号位,分别装X X和和Y Y的绝对值。的绝对值。(2)(2)最后一步余数乘以最后

34、一步余数乘以2-n为结果的余数,其为结果的余数,其符号与被除数同号。符号与被除数同号。3.2.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=r r3 3 第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步:2:2r r2

35、 2+B=+B=r r3 3 ( (不恢复余数不恢复余数) )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为为负,负,则则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

36、= 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)为正为正-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.00000.00002 2)为负为负 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.0001 13 3)+B+B+00.

37、11111+00.1111111.1011011.101100.000.001010为正为正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 r3 34 4)为正为正-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.0101101Q Q4 4 2r2r3 3r r4 41011步数步数 条件条件 操作操作 A C A C 00.01011 0.000.01011 0.010111011 6 6)为负

38、为负 恢复余数恢复余数+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.0000111.1011111.101110.0.10111011Q Q5 5 2r2r4 4r r55r 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.111110 4.4.运算规则运算规则(1 1)A

39、A、B B取双符号位,取双符号位,X X、Y Y取绝对值运算,要求取绝对值运算,要求|X| |Y| |X| |Y| 。(2 2)根据余数的正负决定商值及下一步操作。)根据余数的正负决定商值及下一步操作。(3 3)求)求n n位商,作位商,作n n步操作;若第步操作;若第n n步余数为负,步余数为负,则增加第则增加第n+1n+1步恢复余数,不移位。步恢复余数,不移位。补码加减交替法补码加减交替法如何上商?如何上商? 如何确定商符?如何确定商符? 如何判断是否够减?如何判断是否够减?已知已知X补补与与Y补补求求X补补/ Y补补在补码除在补码除法中需要解决法中需要解决:1.1.判够减判够减(1)(1

40、)同号相除同号相除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同号;同号;不够减:不够减: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

41、异号;异号; 不够减:不够减: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补补异号异号不够减不够减: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异号异号)

42、)( (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、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

43、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 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与实际商与实际商符相反

44、符相反商符商符与原码加减交替法比较与原码加减交替法比较真商真商= =假商假商+1.00001+1.00001Q Q0 0.Q.Q1 1Q Q2 2QQn-1n-1(1)1)对第对第n n位商位商( (末位商末位商) )采取恒置采取恒置1 1(2 2)将商符变反)将商符变反n位位5.5.商的校正商的校正上述上商操作只作到小数点后第上述上商操作只作到小数点后第n-1位,位,差一位商,并且商的符号与实际相反。差一位商,并且商的符号与实际相反。即即假商假商校正:校正:6.6.实例实例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,给出商,给出商Q Q

45、和余数和余数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.01100+11.00001+11.0000100.0110100.01101 0.00 0.0000002 2)同号同号 +B+B00.1101000.11010+11.00001+1

46、1.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 异号异号5 5)+B+B+11.00001+11.0000100.1011000.1011011.1011111.10111步数步数 条件条件 操作操作 A C A C 11.11011 0.011.11011 0.0001001 3 3)异号异号-B-B 11.10110 11.10110+00.11111+00.1111100.1010100.10101 0. 0.001000104 4)异号异号 +B+B01.0101001.01010+11.00001+11.0000100.0101100.01011 0.0100 0.0100C Cn n-1-1r r与与Y YQ Q3 3 Q Q2 2 r r2 22r2r2 2r r3 32r2r3 3r r4 42r2r4 4r r5 5假商假商=0.0100=0.0100Q Q4 4

温馨提示

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

评论

0/150

提交评论