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