تالار گفتمان مانشت

نسخه‌ی کامل: مهندسی فناوری اطلاعات - سال 84
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با عرض سلام
دوستان من الگوریتم ضرب بوث و قواعدش رو بلدم، اما این سوال رو مفهومش رو نمی فهمم. توی پاسخ نامه ی مدرسان گفته که :
در مرحله ی اول عمل تفریق انجام شده، از کجا این حرف رو زده ؟
با سپاس
(30 بهمن 1395 09:21 ب.ظ)alimamala نوشته شده توسط: [ -> ]با عرض سلام
دوستان من الگوریتم ضرب بوث و قواعدش رو بلدم، اما این سوال رو مفهومش رو نمی فهمم. توی پاسخ نامه ی مدرسان گفته که :
در مرحله ی اول عمل تفریق انجام شده، از کجا این حرف رو زده ؟
با سپاس
چرا بچه ها تا حالا جواب ندادن!
اگه یادت باشه عددی مثل 001110 که میشه 14 یا به عبارتی [tex]2^4-2^1[/tex] یعنی یه جورایی میتونی قرارداد کنی هر وقت به 10رسیدیم منفی 2 به توان اون مرتبه مینویسیم هروقت 01 دیدیم مثبت 2 به توان همون مرتبه مثلا عدد [tex]11011011=-2^0+2^2-2^3+2^5-2^6[/tex] هست (دقت کن بیت ابتدای سمت راست رو صفر در نظر بگیر)
حالا با این معلومات میشه 2 تا عدد رو درهم ضرب کرد عوض اینکه تو عدد دوم ببینیم هر جا 1 بود عدد اول رو بنویسیم و هرجا صفر بود 0 بنویسیم و همه رو باهم جمع کنیم هر جا 10 دیدیم منفی اون عدد اول رو مینویسیم که در اینجا میبینی عدد اول رو مکمل کرده گسترش علامت داده(وقتی شیفت به چپ میدیم و جمع میکنیم انگار ضرب در 2 به توان همان مرتبه کردیم دیگه) اگر درعدد دوم تغییری در بیتها نبود مثلا 1 یا 0 بود با صفر جمع میکنیم اگر هم 01 دیدیم که با اون عدد اول رو مینویسیم و همه رو با هم میکنیم
حالا تست رو نگاه کن: اینجا میگه عدد دوم Y چی میتونست باشه؟ عبارت اول جمع مکمل عدد اول رو گرفت گسترش داد پس 10 بود(بهتر بگیم 1 بود) دومین عبارت خود عدده پس 01 مینویسیم عبارت بعدی کلا صفر یعنی بیت قبلی تکرار شد(بیت 0) ادامه بدی میرسی به 101001 میشه "-23"
خیلی خیلی لطف کردی دوست عزیز. با سپاس فراوان
لینک مرجع