تالار گفتمان مانشت
ضرب بوث - نسخه‌ی قابل چاپ

ضرب بوث - payman84ce - 16 آبان ۱۳۹۰ ۱۱:۰۲ ق.ظ

سلام الگوریتم بوث رو لطفا با مثال -۳ * -۴ توضیح دهید مرسی
من نمیفهم هر چی میگه

ضرب بوث - Bache Mosbat - 16 آبان ۱۳۹۰ ۰۱:۳۵ ب.ظ

ببینین الگوریتم ضرب بوث برای سیستم مکمل دو کار می کنه . شما دوتا دوتا بیت‌ها‌ی مضروب رو در نظر بگیرین . اگه با هم یکسان بود فقط حاصل رو شیف بدین . اگه ۱۰ بود تفریق کنین . اگه ۰۱ بود جمع کنین .
حالا برای مثال شما:
ما می خوایم -۴ رو در -۳ ضرب کنیم:
-۳ در سیستم مکمل دو می شه ۱۱۰۱
-۴ می شه ۱۱۰۰
به بیت مقایسه می گنQ -1 . در ابتدا ۰ فرضش می کنیم ولیQ رو هرچی شیف می دیم وارد اون می شه .

مرحله‌ی یک‌: q=0 و q-1=0 -----> حاصل یک شیف‌: ۰-۰۰۰۰
مرحله‌ی دو‌: q=0 و q-1=0 -----> حاصل شیفت مجدد‌: ۰۰-۰۰۰۰
مرحله‌ی سه‌: q=1 و q-1=0 ----> حاصل برابر تفریق + شیفت‌: تفریق -۳ از حاصل برابر همون جمع با ۳ هست‌: ۰۰۰۰+ ۰۰۱۱ و بعد شیفتش: ۱۰۰-۰۰۰۱
مرحله‌ی چهار‌: q=1 و q-1=1 پس حاصل شیفت‌: ۱۱۰۰-۰۰۰۰
که برابر حاصل نهاییه .

ضرب بوث - payman84ce - 16 آبان ۱۳۹۰ ۰۱:۵۸ ب.ظ

ممنون ۰۰۰۰ همون q است ؟
صفر های مرحله دو از کجا اومد مثل مرحله یک شده

ضرب بوث - Bache Mosbat - 16 آبان ۱۳۹۰ ۰۲:۰۳ ب.ظ

ببینین حاصل اولیه رو ما ۰۰۰۰ در نظر می گیریم .
q همون ۱۱۰۰ هست و q-1 در ابتدا ۰ .
مرحله‌ی دوم مثل اول نیست! دومی یه شیفت اضافه داره . دوتا صفر سمت راستش هست . اگه اسکنر داشتم یا دوربین می کشیدم که بهتر منظورمو رسونده باشم .
در واقع فکر کنین که مضروب رو که -۴ هست به صورت ۰-۱۱۰۰ می نویسیم . دو بیت اولی ۰۰ هست که شیفت . دو بیت دومی بازم ۰۰ که بازم شیفت داریم . بعدی ۱۰ که تفریق -۳ . بعدی هم ۱۱ که شیفته .
اگه ۰۱ وجود داشت جمع با -۳ بود .

ضرب بوث - payman84ce - 16 آبان ۱۳۹۰ ۰۲:۱۶ ب.ظ

اگر می تونستی خوب بود من فقط اینو نمی فهمم (ضرب بوث)

ضرب بوث - Bache Mosbat - 16 آبان ۱۳۹۰ ۰۲:۴۷ ب.ظ

کتاب مانو خوب توضیح داده بود تا جایی که یادمه! دقیقا کجاشو متوجه نمی شید؟ .