۰
subtitle
ارسال: #۱
  
ضرب (۶-)*۱۳ به روش booth ?
لطفا روش بوث رو به صورت مشرح با حل این مثال توضیح دهید (۶-)*۱۳
با سپاس
با سپاس
۰
ارسال: #۲
  
RE: ضرب (۶-)*۱۳ به روش booth ?
برای ضرب عدد B در Q که هر کدام ۵ بیتی می باشد، به ۱۰ بیت نیاز است که معمولا جواب به صورت A:Q در نظر گرفته میشه.
شما برای ضرب -۱۳ در ۶ دقت کنید که مکمل ۲ اونها رو به درستی حساب کنید. حالا از عدد دوم فقط جمع یا تفریق رو متوجه میشیم یعنی اگه اول ۰ و بعد ۱ دیدیم باید B رو تفریق کنیم و سپس ASHR میدیم و یا اگه ۰۱ دیدیم باید B رو جمع کنیم و سپس ASHRدر غیر اینصورت فقط شیفت به راست میدیم .(همون ASHR)
تو روش عادی که روی کاغذ انجام میدیم شبیه شکلی که ضمیمه کردم، آخرین بیت چپ اگر یک بود ، اون رو گسترش میدیم .
شما برای ضرب -۱۳ در ۶ دقت کنید که مکمل ۲ اونها رو به درستی حساب کنید. حالا از عدد دوم فقط جمع یا تفریق رو متوجه میشیم یعنی اگه اول ۰ و بعد ۱ دیدیم باید B رو تفریق کنیم و سپس ASHR میدیم و یا اگه ۰۱ دیدیم باید B رو جمع کنیم و سپس ASHRدر غیر اینصورت فقط شیفت به راست میدیم .(همون ASHR)
تو روش عادی که روی کاغذ انجام میدیم شبیه شکلی که ضمیمه کردم، آخرین بیت چپ اگر یک بود ، اون رو گسترش میدیم .
۰
ارسال: #۳
  
RE: ضرب (۶-)*۱۳ به روش booth ?
تشکر بابت توضیحات کامل و مشروحتون
من کلا با این مبحث آشنایی ندارم . وقتی میگید اگر اول ۰بود بعد ۱تفریق یا اول ۱ بعد ۰ جمع میکنیم منظورتون دقیقا چی هست ، چی رو از چی کم میکنیم؟!
ببخشید بابت سوال مبتدیانه
من کلا با این مبحث آشنایی ندارم . وقتی میگید اگر اول ۰بود بعد ۱تفریق یا اول ۱ بعد ۰ جمع میکنیم منظورتون دقیقا چی هست ، چی رو از چی کم میکنیم؟!
ببخشید بابت سوال مبتدیانه
ارسال: #۴
  
RE: ضرب (۶-)*۱۳ به روش booth ?
(۲۶ دى ۱۳۹۳ ۰۳:۱۷ ب.ظ)falcon7 نوشته شده توسط: تشکر بابت توضیحات کامل و مشروحتون
من کلا با این مبحث آشنایی ندارم . وقتی میگید اگر اول ۰بود بعد ۱تفریق یا اول ۱ بعد ۰ جمع میکنیم منظورتون دقیقا چی هست ، چی رو از چی کم میکنیم؟!
ببخشید بابت سوال مبتدیانه
نیاز به عذرخواهی نیست! سواله دیگه واسه همه پیش میاد.
ببین اساس ضرب بوث به این صورته که عدد اول (این جا یعنی ۱۳) باید با خودش جمع و یا تفریق بشه. و همین طور در هر مرحله شیفت حسابی بدیم.
حالا سوال اینه که از کجا بفهمیم جمع یا تفریق؟
جمع یا تفریق رو باید از تغییر بیت های ضرب کننده (یعنی عدد دوم) این جا ۶ تشخیص بدیم. اول عدد -۶ رو درسیستم مکمل ۲ مینویسیم که میشه ۱۱۰۱۰ در سمت راست اون یه بیت فرضی رو صفر در نظر میگیریم، چون اولین بیت عدد ۰ هست ، ۰۰۰۰۰ رو برای جمع می نویسیم ، در مرحله بعد چون بیت دوم ۱ هست، یعنی از ۰ به ۱ رسیدیم، باید تفریق کنیم، یعنی -۱۳ که در مکمل دو میشه : ۱۰۰۱۱
دقت کنید که مثل ضرب عادی که در هر مرحله برای جمع یه رقم میریم سمت چپ و جمع ها رو انجام میدیم ، اینجا هم -۱۳ رو یه رقم سمت چپ میریم و می نویسیم و دقت کنید که رقم آخر سمت چپ ۱ هست و باید اون رو گسترش بدیم (یعنی سمت چپ یک اضافه کنیم)
حالا بیت سوم ۰ هست و چون بیت دوم ۱ بوده، این جا جمع داریم یعنی + ۱۳ که میشه ۰۱۱۰۱ بازم این عدد رو یه رقم سمت چپ میریم و مینویسم (این رفتن به سمت چپ همون شیفت هست! )
بیت چهارم ۱ هست و دوباره تفریق داریم. چون از ۰ به ۱ رفتیم
بیت پنجم ۱ هست و چون بیت قبلی ۱ بوده و تغییر بیت نداریم با صفر جمع میشه (فقط شیفت داریم)
ارسال: #۵
  
RE: ضرب (۶-)*۱۳ به روش booth ?
(۲۶ دى ۱۳۹۳ ۰۴:۰۷ ب.ظ)ana9940 نوشته شده توسط:(26 دى ۱۳۹۳ ۰۳:۱۷ ب.ظ)falcon7 نوشته شده توسط: تشکر بابت توضیحات کامل و مشروحتون
من کلا با این مبحث آشنایی ندارم . وقتی میگید اگر اول ۰بود بعد ۱تفریق یا اول ۱ بعد ۰ جمع میکنیم منظورتون دقیقا چی هست ، چی رو از چی کم میکنیم؟!
ببخشید بابت سوال مبتدیانه
نیاز به عذرخواهی نیست! سواله دیگه واسه همه پیش میاد.
ببین اساس ضرب بوث به این صورته که عدد اول (این جا یعنی ۱۳) باید با خودش جمع و یا تفریق بشه. و همین طور در هر مرحله شیفت حسابی بدیم.
حالا سوال اینه که از کجا بفهمیم جمع یا تفریق؟
جمع یا تفریق رو باید از تغییر بیت های ضرب کننده (یعنی عدد دوم) این جا ۶ تشخیص بدیم. اول عدد -۶ رو درسیستم مکمل ۲ مینویسیم که میشه ۱۱۰۱۰ در سمت راست اون یه بیت فرضی رو صفر در نظر میگیریم، چون اولین بیت عدد ۰ هست ، ۰۰۰۰۰ رو برای جمع می نویسیم ، در مرحله بعد چون بیت دوم ۱ هست، یعنی از ۰ به ۱ رسیدیم، باید تفریق کنیم، یعنی -۱۳ که در مکمل دو میشه : ۱۰۰۱۱
دقت کنید که مثل ضرب عادی که در هر مرحله برای جمع یه رقم میریم سمت چپ و جمع ها رو انجام میدیم ، اینجا هم -۱۳ رو یه رقم سمت چپ میریم و می نویسیم و دقت کنید که رقم آخر سمت چپ ۱ هست و باید اون رو گسترش بدیم (یعنی سمت چپ یک اضافه کنیم)
حالا بیت سوم ۰ هست و چون بیت دوم ۱ بوده، این جا جمع داریم یعنی + ۱۳ که میشه ۰۱۱۰۱ بازم این عدد رو یه رقم سمت چپ میریم و مینویسم (این رفتن به سمت چپ همون شیفت هست! )
بیت چهارم ۱ هست و دوباره تفریق داریم. چون از ۰ به ۱ رفتیم
بیت پنجم ۱ هست و چون بیت قبلی ۱ بوده و تغییر بیت نداریم با صفر جمع میشه (فقط شیفت داریم)
الان فهمیدم چی شد خیلی عالی توضیح دادید. ممنون
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close