所谓的加减交错法,也就是:
用被除数 X 减去除数 Y 得到余数 Ri,如果不够减,商上 0,此时并不用恢复余数,而是直接将余数左移一位,再加上除数。
这么做,就和 “恢复余数之后移位再减去除数”,效果是相同的。
这里所说的 X、Y、Ri,都是无符号数,所以加减交错法,本来就是【无符号数加减交错法】。
由无符号数的算法推广到原码,还是不用置疑的。 因为所谓的原码,也就是 “首位为 0” 的无符号数。 那么,在无符号数前面添上一个零,就是原码了。 前面添上 0,并不影响数值大小,所以这个原码也就可以按照无符号数进行计算了。
但是,将这种无符号数的运算方法,改成用补码来运算,行不行,这就值得怀疑了。
做而论在上篇博文(点击查看)中,给出了一个 8 位数除以 4 位数的题目,并分别用补码和原加减交错法进行了求解。 用原码计算的结果,与人工计算,是相同的。
用原码加减交错法求解的过程示意图如下。