Booth乘法


先看一個例子,結合疑問看算法。

1.已知X=+0.0011 Y=-0.1011 求[XY]

解:[x] =0.0011 , [-x]補 =1.1101,[y]補 =1.0101

     部分積           乘數           附加位             說明

    00.0000        10101             0              10,+[-x]補,右移

+  11.1101

--------------------------------------------------------------------------------

    11.1101

    11.1110        11010               1            01,+[x]補,右移

+  00.0011

--------------------------------------------------------------------------------

    00.0001

    00.0000        11101                0          10,+[-x]補,右移

+  11.1101

--------------------------------------------------------------------------------

    11.1101

    11.1110        11110                 1           01,+[x]補,右移

+  00.0011

--------------------------------------------------------------------------------

    00.0001

    00.0000       11111                  0         10,+[-x]補,不移位

+  11.1101

----------------------------------------------------------------------------------

     11.1101      1111

所以,[XY]=1.11011111

計算方法:

1.符號位取兩位,移位的時候小數點后的首位是0還是1,取決於符號位。

2.符號位參與運算,若乘數為1.0101,參與移位的是10101,而不是0101。

3.小數點后有幾位,就移位幾次,最后一次移位后記得完成加法。部分積每移位一次,乘數也跟着移位。

4.當yn,yn+1 =00時,直接右移

   當yn,yn+1 =01時,+[x]補,再右移

   當yn,yn+1 =10時,+[-x]補,再右移

    當yn,yn+1 =00時,直接右移

5.附加位初始值為0。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM