非恢复除法算法

Cyb*_*hot 8 algorithm binary bits division addition

有没有人知道使用非恢复除法划分无符号二进制整数的步骤?

很难在网上找到任何好的消息来源.

即如果A = 101110B = 010111

我们如何A divided by B在非恢复部门找到?寄存器在每一步中都是什么样的?

谢谢!

Abi*_*n K 20

(我的回答有点迟到了.但我希望它对未来的访问者有用)

下图中给出了非恢复除法的算法:

在此输入图像描述

在这个问题中,Dividend(A)= 101110,即46,Divisor(B)= 010111,即23.

初始化:

Set Register A = Dividend = 000000
Set Register Q = Dividend = 101110
( So AQ = 000000 101110 , Q0 = LSB of Q = 0 )
Set M = Divisor = 010111, M' = 2's complement of M = 101001
Set Count = 6, since 6 digits operation is being done here.
Run Code Online (Sandbox Code Playgroud)

在此之后我们启动算法,我已在下表中显示:

在表中,SHL(AQ) denotes shift left AQ by one position leaving Q0 blank.

同样,Q0位置的方形符号表示, it is to be calculated later

在此输入图像描述

希望从表中清楚所有步骤!

  • 提醒一下:如果余数 (A) 为负,则调整余数 (A) 是*不够的:将商 (Q) 减一。 (2认同)