《计算机组织与结构 (32).ppt》由会员分享,可在线阅读,更多相关《计算机组织与结构 (32).ppt(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、除法分类1.定点原码一位除恢复余数法加减交替法2.定点补码一位除除法运算手算十进制除法:X934 Y=2 X/Y=?9 3 44 6 781 31 21 4 21 40除法是一系列减法,必须是大数减去小数商需要不断凑试除法运算手算二进制除法:特点:商采用凑试法。计算机不会凑试!问题:除数右移导致加法器位数变长 X0.1011 Y=0.1101 X/Y=?0.101100000.110111011001011011010011011110.1101恢复余数法特点左移被除数(余数)来代替右移除数。上商规则将部分余数Ri与除数Y相减,判断余数的符号,确定商的值。差为正:商上1,不恢复余数,部分余数左
2、移1位。差为负:商上0,恢复余数,部分余数左移1位。特点:速度慢,控制方式复杂。例题1例:设X=0.1011,Y=0.1101,求X/Y。解:-Y补=11.0011 被除数(余数)商0 0 1 0 1 1 0 0 0 0 0开始+-Y 1 1 0 0 1 1-Y即+-Y1 1 1 1 1 00 0 0 0 0结果为负,商0+Y 0 0 1 1 0 1 恢复余数0 0 1 0 1 1 左移一位0 1 0 1 1 00 0 0 0 +-Y 1 1 0 0 1 1 0 0 1 0 0 10 0 0 0 1够减,商1,左移 0 1 0 0 1 00 0 0 1 +-Y 1 1 0 0 1 1 0 0
3、0 1 0 1 0 0 0 1 1够减,商1 左移0 0 1 0 1 00 0 1 1 +-Y 1 1 0 0 1 1 1 1 1 1 0 10 0 1 1 0不够减,商0+Y0 0 1 1 0 1恢复余数0 0 1 0 1 0 左移一位0 1 0 1 0 00 1 1 0 +-Y 1 1 0 0 1 10 0 0 1 1 1 0 1 1 0 1够减,商1 被除数(余数)商0 0 1 0 1 1 0 0 0 0 0开始+-Y 1 1 0 0 1 1-Y即+-Y1 1 1 1 1 00 0 0 0 0结果为负,商0+Y 0 0 1 1 0 1 恢复余数0 0 1 0 1 1 左移一位0 1 0
4、1 1 00 0 0 0 +-Y 1 1 0 0 1 1 0 0 1 0 0 10 0 0 0 1够减,商1,左移 0 1 0 0 1 00 0 0 1 +-Y 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1够减,商1 左移0 0 1 0 1 00 0 1 1 +-Y 1 1 0 0 1 1 1 1 1 1 0 10 0 1 1 0不够减,商0+Y0 0 1 1 0 1恢复余数0 0 1 0 1 0 左移一位0 1 0 1 0 00 1 1 0 +-Y 1 1 0 0 1 10 0 0 1 1 1 0 1 1 0 1够减,商1商:X/Y=0.1101,符号为正 余数:0.0
5、111*2-4 被除数(余数)商0 0 1 0 1 1 0 0 0 0 0开始+-Y 1 1 0 0 1 1-Y即+-Y1 1 1 1 1 00 0 0 0 0结果为负,商0+Y 0 0 1 1 0 1 恢复余数0 0 1 0 1 1 左移一位0 1 0 1 1 00 0 0 0 +-Y 1 1 0 0 1 1 0 0 1 0 0 10 0 0 0 1够减,商1,左移 0 1 0 0 1 00 0 0 1 +-Y 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1够减,商1 左移0 0 1 0 1 00 0 1 1 +-Y 1 1 0 0 1 1 1 1 1 1 0 10 0
6、1 1 0不够减,商0+Y0 0 1 1 0 1恢复余数0 0 1 0 1 0 左移一位0 1 0 1 0 00 1 1 0 +-Y 1 1 0 0 1 10 0 0 1 1 1 0 1 1 0 1够减,商1商:X/Y=0.1101,符号为正 余数:0.0111*2-4运算过程中,被除数寄存器不断左移,右侧补零;商的初值为0,不断左移;可以认为是将商的高位移入了被除数寄存器的低位部分。所以初始时可以用存放商的寄存器存放被除数的低n位,实现2n位数除以n位数。推荐阅读:除法是右移吗?无符号数的除法确实是右移操作考虑有符号数:(-5)4 以32位机为例右移两位后是:1073741822,显然不对考虑算术右移时用符号位扩展:-2-2虽然与正确答案-1很接近,但是仍然不对,那么应该怎么办呢?1111 1111 1111 1111 1111 1111 1111 101120011 1111 1111 1111 1111 1111 1111 111021111 1111 1111 1111 1111 1111 1111 11102