定点补码一位除(加减交替算法)

定点补码一位除(加减交替算法)

X ÷ \div ÷Y
X为被除数
Y为除数

补码加减交替算法算法规则如下:
1.被除数与除数同号,被除数减去除数;被除数与除数异号,被除数加上除数
2.余数和除数同号,商为1,余数左移一位,下次减除数;余数和除数异号,商为0,余数左移一位,下次加除数。
3.重复步骤2,包括符号在内,工作n+1步

为了统一并简化控制线路,一开始就根据[x]和[y]的符号位是否相同上一次商q0。这位商q0不是真正的商的符号,故称其为假商(假商在最后的运算结果中是要去掉的)。如果[x]和[y]的符号位相同,商1,正好控制下次做减法:第一次一定不够减,才得到商的正确符号位q0=0;如果[x]和[y]的符号位不同,商0,正好控制下次做加法:第一次一定不够减,才得到商的正确符号位q0=1
显然,第一次商的假商q0只是为了除法做准备工作,共进行n+1次操作。最后,第一上的假商q0需要移除寄存器,而需要的位商数则保留在商数寄存器中。

定点补码一位除(加减交替算法)_第1张图片

总结

在加减交替除法中,第一次商是为假商,只是为了简化控制线路的。

你可能感兴趣的:(计算机组成原理,补码,寄存器)