第3章34二进制除法运算*/12**/12*一、原码恢复余数法★每一步须比较上一步的余数Ri-1和2-iY的大小,人工计算时计算者可用观察比较的办法确定商上0还是1,而在计算机中,只能用做减法判断结果的符号为负还是为正来确定。●若Ri-1-2-≥0,则上商1,差值即为余数Ri;●若Ri-1-2-<0,则上商0,差值并不是余数Ri,要恢复Ri为上一步的余数Ri-1,即Ri+2-。*/12*●-Y用+[-Y]补实现。★改进:●笔算时,是余数不动,除数逐次右移;机器运算时,改为除数不动,余数逐次左移。●左移出界的余数的高位都是无用的零,对运算不会产生任何影响。●由于每次所得的余数都多乘了21,在求得小数点后的n位商后,相当于多乘了2n,所以,正确的余数应为2-。*/12*例:X=,Y=,计算X÷Y的商和余数。R为负,+[-|Y|]+[|Y|]+[-|Y|]+[-|Y|]:|X|原=,|Y|补=,[-|Y|]补=,商上1R为正,商上1R为负,+[-|Y|]+[|Y|]+[-|Y|],商上1∵00=0∴商==×2-*/12*练习:X=+,Y=-,计算X÷Y的商和余数。R为负,+[-|Y|]+[|Y|]+[-|Y|]+[-|Y|]:|X|原=,|Y|补=,[-|Y|]补=,商上1R为正,商上1R为负,+[-|Y|]+[|Y|]+[-|Y|],商上1∵01=1∴商=-=×2-*/12*二、原码不恢复余数法(加减交替法)★恢复余数法的缺点是:当某一次-Y的差值为负时,要多一次+Y恢复余数的操作,降低了执行速度,又使控制线路变得复杂,因此在计算机中很少采用。★加减交替法是对恢复余数除法的一种修正。当某次求得的差值(余数Ri)为负时,不恢复,而是继续求下一位商,并在求商的同时暗中恢复余数。*/12*★运算规则:●本次余数Ri为正时,商上1,余数左移一位,下一步减除数求得新余数Ri+1;●本次余数Ri为负时,商上0,余数左移一位,下一步加除数求得新余数Ri+1。Ri+1=2(Ri+|Y|)-|Y|=2Ri+|Y|●但若最后一次上商为0,而又需得到正确余数,则在这最后一次仍需+|Y|恢复余数。*/12*例:X=+,Y=-,计算X÷Y的商和余数。R为负,+[-|Y|]+|Y|+[-|Y|]:|X|原=,|Y|补=,[-|Y|]补=,商上1R为正,商上1R为负,+[-|Y|]+|Y|,商上1∵01=1∴商=-=×2-*/12*练习:X=,Y=-,计算X÷Y的商和余数。R为负,+[-|Y|]+|Y|+[-|Y|]:|X|原=,|Y|补=,[-|Y|]补=,商上1R为正,商上1R为负,+[-|Y|]+|Y|,商上1∵01=1∴商=-=
第3章34二进制除法运算 来自淘豆网m.daumloan.com转载请标明出处.