关于booth算法(兄弟们进来看看啊!)

By: zhulingrui

<p>关于booth算法
在计算机等级考试三级教程pc技术中有一种算法叫booth算法,看了办天怎么也看不明白,怎么也看不出之所以然来,不知那位会,能不能给我解释一下。在此先行谢过了。
下面是一个例题 我想问的是为什么一会儿左移一会儿右移就可以得出结果啊?
booth算法的理论依据是怎么样的?
例1.37 设被乘数m=0111(7),乘数q=0011(3),相乘过程如下:(其中的①②……是我自己加上去的)</p>
<p>   a     q      q-1
①0000  0011   0  初始值
②1001   0011   0  a=a-m
③1100  1001   1  右移(第1次循环)
④1110  0100   1  右移(第2次循环)
⑤0101  0100   1  a=a+m
⑥0010  1010   0  右移(第3次循环)
⑦0001  0101   0  右移(第4次循环)
乘法运算结束后,所得结果共8位,a寄存器中是乘积的高位部分,q寄存器中是乘积的低位部分,即乘积=0010101=(21)(十进制)</p>
该篇文章发表于:设计互动 (www.ccflash.org),转载请保留此行.

Username