不恢复余数法原理验证
不恢复余数法与恢复余数法本质相同,在计算过程中均需恢复余数,不过恢复余数法在余数为负时立即进行恢复,不恢复余数法在下一步运算中恢复余数。
不恢复余数法在相邻两步中产生影响,而相邻两步余数的符号情况可分为四种情况,即正正、正负、负正、负负。
下面假设第 iii 次计算产生的余数为 RiR_iRi ,RiR_iRi 对于恢复余数法或者不恢复余数法而言均是上商依据,Ri′R_i'Ri′ 是恢复余数法当次余数为负时恢复的余数,除数为 YYY 。
注意比较下面四种情况下,恢复余数法与不恢复余数法的 RiR_iRi 。
正正
| 本次余数正负 | 恢复余数法 | 不恢复余数法 |
|---|---|---|
| 正 | RiR_iRi | RiR_iRi |
| 正 | Ri+1=2Ri−YR_{i+1}=2R_i-YRi+1=2Ri−Y | Ri+1=2Ri−YR_{i+1}=2R_i-YRi+1=2Ri−Y |
正负
| 本次余数正负 | 恢复余数法 | 不恢复余数法 |
|---|---|---|
| 正 | RiR_iRi | RiR_iRi |
| 负 | Ri+1=2Ri−Y<0,Ri+1′=Ri+1+YR_{i+1}=2R_i-Y<0,R_{i+1}'=R_{i+1}+YRi+1=2Ri−Y<0,Ri+1′=Ri+1+Y | Ri+1=2Ri−YR_{i+1}=2R_i-YRi+1=2Ri−Y |
负正
| 本次余数正负 | 恢复余数法 | 不恢复余数法 |
|---|---|---|
| 负 | Ri<0,Ri′=Ri+YR_i<0,R_i'=R_i+YRi<0,Ri′=Ri+Y | RiR_iRi |
| 正 | Ri+1=2Ri′−Y=2Ri+YR_{i+1}=2R_i'-Y=2R_i+YRi+1=2Ri′−Y=2Ri+Y | Ri+1=2Ri+YR_{i+1}=2R_i+YRi+1=2Ri+Y |
负负
| 本次余数正负 | 恢复余数法 | 不恢复余数法 |
|---|---|---|
| 负 | Ri<0,Ri′=Ri+YR_i<0,R_i'=R_i+YRi<0,Ri′=Ri+Y | RiR_iRi |
| 负 | Ri+1=2Ri′−Y=2Ri+Y<0,Ri+1′=Ri+1+YR_{i+1}=2R_i'-Y=2R_i+Y<0,R_{i+1}'=R_{i+1}+YRi+1=2Ri′−Y=2Ri+Y<0,Ri+1′=Ri+1+Y | Ri+1=2Ri+YR_{i+1}=2R_i+YRi+1=2Ri+Y |
| 负/正 | Ri+2=2Ri+1′−Y=2Ri+1+YR_{i+2}=2R_{i+1}'-Y=2R_{i+1}+YRi+2=2Ri+1′−Y=2Ri+1+Y | Ri+2=2Ri+1+YR_{i+2}=2R_{i+1}+YRi+2=2Ri+1+Y |
总结
不难看出,每次进行上商判断的 RiR_iRi 不管是恢复余数法还是不恢复余数法均相同,两者本质相同。
同时也可以知道为什么如果最后一步上商为 000 时需恢复余数,因为 RiR_iRi 是用来判断上商的依据,真正的每步余数为恢复余数法的 Ri′R_i'Ri′ 。
文章详细阐述了不恢复余数法和恢复余数法在执行过程中如何处理负余数,以及这两种方法在相邻两步计算中余数变化的四种情况。尽管两者在余数恢复的时间点不同,但它们在上商判断时所依据的余数是相同的。最后指出,在最后一步上商为0时,恢复余数的必要性在于确保正确计算每一步的真正余数。
1320

被折叠的 条评论
为什么被折叠?



