زمان کنونی: ۰۷ دى ۱۴۰۳, ۰۴:۰۷ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

ضرب (۶-)*۱۳ به روش booth ?

ارسال:
  

falcon7 پرسیده:

ضرب (۶-)*۱۳ به روش booth ?

لطفا روش بوث رو به صورت مشرح با حل این مثال توضیح دهید (۶-)*۱۳
با سپاس
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

ana9940 پاسخ داده:

RE: ضرب (۶-)*۱۳ به روش booth ?

برای ضرب عدد B در Q که هر کدام ۵ بیتی می باشد، به ۱۰ بیت نیاز است که معمولا جواب به صورت A:Q در نظر گرفته میشه.
شما برای ضرب -۱۳ در ۶ دقت کنید که مکمل ۲ اونها رو به درستی حساب کنید. حالا از عدد دوم فقط جمع یا تفریق رو متوجه میشیم یعنی اگه اول ۰ و بعد ۱ دیدیم باید B رو تفریق کنیم و سپس ASHR میدیم و یا اگه ۰۱ دیدیم باید B رو جمع کنیم و سپس ASHRدر غیر اینصورت فقط شیفت به راست میدیم .(همون ASHR)
تو روش عادی که روی کاغذ انجام میدیم شبیه شکلی که ضمیمه کردم، آخرین بیت چپ اگر یک بود ، اون رو گسترش میدیم .


فایل‌(های) پیوست شده

نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

falcon7 پاسخ داده:

RE: ضرب (۶-)*۱۳ به روش booth ?

تشکر بابت توضیحات کامل و مشروحتون Blush
من کلا با این مبحث آشنایی ندارم . وقتی میگید اگر اول ۰بود بعد ۱تفریق یا اول ۱ بعد ۰ جمع میکنیم منظورتون دقیقا چی هست ، چی رو از چی کم میکنیم؟!
ببخشید بابت سوال مبتدیانه Big Grin
نقل قول این ارسال در یک پاسخ

ارسال:
  

ana9940 پاسخ داده:

RE: ضرب (۶-)*۱۳ به روش booth ?

(۲۶ دى ۱۳۹۳ ۰۳:۱۷ ب.ظ)falcon7 نوشته شده توسط:  تشکر بابت توضیحات کامل و مشروحتون Blush
من کلا با این مبحث آشنایی ندارم . وقتی میگید اگر اول ۰بود بعد ۱تفریق یا اول ۱ بعد ۰ جمع میکنیم منظورتون دقیقا چی هست ، چی رو از چی کم میکنیم؟!
ببخشید بابت سوال مبتدیانه Big Grin

نیاز به عذرخواهی نیست! سواله دیگه واسه همه پیش میاد.
ببین اساس ضرب بوث به این صورته که عدد اول (این جا یعنی ۱۳) باید با خودش جمع و یا تفریق بشه. و همین طور در هر مرحله شیفت حسابی بدیم.
حالا سوال اینه که از کجا بفهمیم جمع یا تفریق؟
جمع یا تفریق رو باید از تغییر بیت های ضرب کننده (یعنی عدد دوم) این جا ۶ تشخیص بدیم. اول عدد -۶ رو درسیستم مکمل ۲ مینویسیم که میشه ۱۱۰۱۰ در سمت راست اون یه بیت فرضی رو صفر در نظر میگیریم، چون اولین بیت عدد ۰ هست ، ۰۰۰۰۰ رو برای جمع می نویسیم ، در مرحله بعد چون بیت دوم ۱ هست، یعنی از ۰ به ۱ رسیدیم، باید تفریق کنیم، یعنی -۱۳ که در مکمل دو میشه : ۱۰۰۱۱
دقت کنید که مثل ضرب عادی که در هر مرحله برای جمع یه رقم میریم سمت چپ و جمع ها رو انجام میدیم ، اینجا هم -۱۳ رو یه رقم سمت چپ میریم و می نویسیم و دقت کنید که رقم آخر سمت چپ ۱ هست و باید اون رو گسترش بدیم (یعنی سمت چپ یک اضافه کنیم)
حالا بیت سوم ۰ هست و چون بیت دوم ۱ بوده، این جا جمع داریم یعنی + ۱۳ که میشه ۰۱۱۰۱ بازم این عدد رو یه رقم سمت چپ میریم و مینویسم (این رفتن به سمت چپ همون شیفت هست! Big Grin)
بیت چهارم ۱ هست و دوباره تفریق داریم. چون از ۰ به ۱ رفتیم
بیت پنجم ۱ هست و چون بیت قبلی ۱ بوده و تغییر بیت نداریم با صفر جمع میشه (فقط شیفت داریم)
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

falcon7 پاسخ داده:

RE: ضرب (۶-)*۱۳ به روش booth ?

(۲۶ دى ۱۳۹۳ ۰۴:۰۷ ب.ظ)ana9940 نوشته شده توسط:  
(26 دى ۱۳۹۳ ۰۳:۱۷ ب.ظ)falcon7 نوشته شده توسط:  تشکر بابت توضیحات کامل و مشروحتون Blush
من کلا با این مبحث آشنایی ندارم . وقتی میگید اگر اول ۰بود بعد ۱تفریق یا اول ۱ بعد ۰ جمع میکنیم منظورتون دقیقا چی هست ، چی رو از چی کم میکنیم؟!
ببخشید بابت سوال مبتدیانه Big Grin

نیاز به عذرخواهی نیست! سواله دیگه واسه همه پیش میاد.
ببین اساس ضرب بوث به این صورته که عدد اول (این جا یعنی ۱۳) باید با خودش جمع و یا تفریق بشه. و همین طور در هر مرحله شیفت حسابی بدیم.
حالا سوال اینه که از کجا بفهمیم جمع یا تفریق؟
جمع یا تفریق رو باید از تغییر بیت های ضرب کننده (یعنی عدد دوم) این جا ۶ تشخیص بدیم. اول عدد -۶ رو درسیستم مکمل ۲ مینویسیم که میشه ۱۱۰۱۰ در سمت راست اون یه بیت فرضی رو صفر در نظر میگیریم، چون اولین بیت عدد ۰ هست ، ۰۰۰۰۰ رو برای جمع می نویسیم ، در مرحله بعد چون بیت دوم ۱ هست، یعنی از ۰ به ۱ رسیدیم، باید تفریق کنیم، یعنی -۱۳ که در مکمل دو میشه : ۱۰۰۱۱
دقت کنید که مثل ضرب عادی که در هر مرحله برای جمع یه رقم میریم سمت چپ و جمع ها رو انجام میدیم ، اینجا هم -۱۳ رو یه رقم سمت چپ میریم و می نویسیم و دقت کنید که رقم آخر سمت چپ ۱ هست و باید اون رو گسترش بدیم (یعنی سمت چپ یک اضافه کنیم)
حالا بیت سوم ۰ هست و چون بیت دوم ۱ بوده، این جا جمع داریم یعنی + ۱۳ که میشه ۰۱۱۰۱ بازم این عدد رو یه رقم سمت چپ میریم و مینویسم (این رفتن به سمت چپ همون شیفت هست! Big Grin)
بیت چهارم ۱ هست و دوباره تفریق داریم. چون از ۰ به ۱ رفتیم
بیت پنجم ۱ هست و چون بیت قبلی ۱ بوده و تغییر بیت نداریم با صفر جمع میشه (فقط شیفت داریم)

الان فهمیدم چی شد Big Grin خیلی عالی توضیح دادید. ممنونHeartSmile
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تعداد روش های نوشتن عدد n ss311 ۲ ۳,۴۱۹ ۱۳ بهمن ۱۳۹۸ ۰۵:۲۷ ب.ظ
آخرین ارسال: ss311
  مشاوره روش تحقیق و تحلیل آماری sirvan.t ۰ ۲,۱۹۶ ۱۷ آذر ۱۳۹۸ ۱۲:۵۹ ق.ظ
آخرین ارسال: sirvan.t
  ضرب ماتریس ها roller1829 ۰ ۲,۰۶۵ ۱۹ مهر ۱۳۹۸ ۰۲:۴۸ ب.ظ
آخرین ارسال: roller1829
  روش برنامه نویسی پویا برای حل فروشنده دوره گرد Mohammad WR10 ۶ ۱۱,۰۴۵ ۱۶ خرداد ۱۳۹۸ ۰۶:۳۲ ب.ظ
آخرین ارسال: Shadik
  روش به طرح درخت پیش ترتیب با آرایش داده شده porseshgar ۶ ۶,۹۸۲ ۱۴ بهمن ۱۳۹۷ ۰۸:۴۰ ب.ظ
آخرین ارسال: porseshgar
  روش اپلای کردن فایل patch به برنامه ای در لینوکس hanie_M ۱ ۲,۵۵۲ ۲۳ دى ۱۳۹۷ ۰۴:۰۶ ق.ظ
آخرین ارسال: one hacker alone
  روش های تولید محتوا برای سایت melinaa ۰ ۲,۱۶۸ ۰۴ شهریور ۱۳۹۷ ۱۰:۳۵ ق.ظ
آخرین ارسال: melinaa
  بهترین زمان برای حل کوله پشتی به روش پویا Mr.R3ZA ۰ ۲,۱۹۷ ۱۲ خرداد ۱۳۹۷ ۰۲:۰۶ ق.ظ
آخرین ارسال: Mr.R3ZA
  بهترین زمان برای حل کوله پشتی به روش پویا Mr.R3ZA ۰ ۱,۹۴۶ ۱۱ خرداد ۱۳۹۷ ۰۷:۲۸ ب.ظ
آخرین ارسال: Mr.R3ZA
  روش های تولید محتوا برای سایت fafaferdos ۰ ۲,۰۰۸ ۲۶ اردیبهشت ۱۳۹۷ ۰۳:۲۲ ب.ظ
آخرین ارسال: fafaferdos

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close