الگوریتم بوث

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

الگوریتم بوث با استفاده از یک الگوریتم ساده، دو عدد علامت دار را در یکدیگر ضرب می کند. مراحل اجرای این الگوریتم را در عکس زیر مشاهده می نمایید.

Booths.jpg

یک نمونه اجرا از این برنامه برای اعداد 6 و 5 :

  1. Operation A Q Q' X

1 Initialize 0000 0101 0 0110

2 A <- A-M 1010 0101 0 0110

3 ShiftR 1101 0010 1 0110

4 A <- A+M 0011 0010 1 0110

5 ShiftR 0001 1001 0 0110

6 A <- A-M 1011 1001 0 0110

7 ShiftR 1101 1100 1 0110

8 A <- A+M 0011 1100 1 0110

9 ShiftR 0001 1110 0 0110