برای مثال ما می خوایم -۴ رو در -۳ ضرب کنیم:
-۳ در سیستم مکمل دو می شود ۱۱۰۱
-۴ در سیستم مکمل دو می شود ۱۱۰۰
بیت مقایسه Q -1 را در ابتدا ۰ فرض می کنیم و Q هر چند بار که شیفت داده شود وارد Q-1 میشود .
مرحلهی یک: q=0 و q-1=0 -----> حاصل یک شیف: ۰-۰۰۰۰
مرحلهی دو: q=0 و q-1=0 -----> حاصل شیفت مجدد: ۰۰-۰۰۰۰
مرحلهی سه: q=1 و q-1=0 ----> حاصل برابر تفریق + شیفت: تفریق -۳ از حاصل برابر همون جمع با ۳ هست: ۰۰۰۰+ ۰۰۱۱ و بعد شیفتش: ۱۰۰-۰۰۰۱
مرحلهی چهار: q=1 و q-1=1 پس حاصل شیفت: ۱۱۰۰-۰۰۰۰
که برابر حاصل نهایی است.
یک نمونه دیگر ضرب اعداد 5 و 6:
Operation |
A |
Q |
Q' |
X |
Initialize |
0000 |
0101 |
0 |
0110 |
A <- A-M |
1010 |
0101 |
0 |
0110 |
ShiftR |
1101 |
0010 |
1 |
0110 |
A <- A+M |
0011 |
0010 |
1 |
0110 |
ShiftR |
0001 |
1001 |
0 |
0110 |
A <- A-M |
1011 |
1001 |
0 |
0110 |
ShiftR |
1101 |
1100 |
1 |
0110 |
A <- A+M |
0011 |
1100 |
1 |
0110 |
ShiftR |
0001 |
1110 |
0 |
0110 |
در زیر یک برنامه ضرب با الگوریتم بوث قرار داده شده است که با استفاده از ise سنتز و شبیه سازی شده است:
حداقل اشتراک | محتویات | زمان ایجاد | حجم فایل | تعداد دانلودها |
یک ماهه (VIP) | برنامه+شماتیک | چهارشنبه, 13 آذر 1392 10:12 | 1.71 MB | 0 |
تنها کاربران عضو یا دارای مجوز میتوانند دانلود نمایند |
حداقل اشتراک | محتویات | زمان ایجاد | حجم فایل | تعداد دانلودها |
یک ماهه (VIP) | برنامه+شماتیک | شنبه, 02 آذر 1392 20:29 | 1.03 MB | 0 |
تنها کاربران عضو یا دارای مجوز میتوانند دانلود نمایند |