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

ماشین استاندارد تورینگ-ضرب کننده و جمع کننده باینری

subtitle
ارسال:
  

m-kafiyan پرسیده:

ماشین استاندارد تورینگ-ضرب کننده و جمع کننده باینری

دانشمندان عزیز سلام و خسته درس خوندن نباشیدBig Grin

من داشتم برای جمع کننده ی باینری سعی میکردم ماشین تورینگ استانداردش رو بنویسم کمی به مشکل خوردم میخواستم بپرسم کسی میدونه که باید با carry ایش چی کار کنیم ؟ چطوری اضافش کنیم؟
و همین طور با ضرب اش هم مشکل داشتم چطوری عمل شیفت دادن رو براش انجام بدهیم؟
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

Jooybari پاسخ داده:

RE: ماشین استاندارد تورینگ-ضرب کننده و جمع کننده باینری

سلام. عمل جمع و ضرب رو باید یک بیت یک بیت انجام بدید. در نظر بگیرید قراره بیت به بیت عدد A رو در عدد B جمع یا ضرب کنید.
برای جمع فرض کنید قصد دارید رقم iام از A رو با B جمع کنیم. باید i-1 رقم از سمت راست از B رو رد کنیم و از رقم iام از B شروع به جمع کنیم. هر چی ۱ دیدیم به صفر تبدیل کنیم و به چپ بریم. وقتی به اولین ۰ رسیدیم به ۱ تبدیل کنیم.
برای ضرب هم میدونیم ضرب عدد B (بصورت باینری) در [tex]2^i[/tex] هم ارز با قرار دادن iتا ۰ در سمت راست عدد B خواهد بود. کافیه یه کپی از B داشته باشیم و با توجه به تعداد ۱های عدد A عمل اضافه کردن ۰ و جمع رو انجام بدیم. (برای عمل جمع، عدد A حداقل باید دوتا ۱ داشته باشه) یا اینکه برای راحتی کار میشه هر مرحله یه واحد از A کم کرد و مقدار کپی شده از B رو با مقدار حاصل جمع، جمع کرد.
نقل قول این ارسال در یک پاسخ

ارسال:
  

m-kafiyan پاسخ داده:

RE: ماشین استاندارد تورینگ-ضرب کننده و جمع کننده باینری

(۲۶ آذر ۱۳۹۳ ۰۲:۰۰ ب.ظ)Jooybari نوشته شده توسط:  سلام. عمل جمع و ضرب رو باید یک بیت یک بیت انجام بدید. در نظر بگیرید قراره بیت به بیت عدد A رو در عدد B جمع یا ضرب کنید.
برای جمع فرض کنید قصد دارید رقم iام از A رو با B جمع کنیم. باید i-1 رقم از سمت راست از B رو رد کنیم و از رقم iام از B شروع به جمع کنیم. هر چی ۱ دیدیم به صفر تبدیل کنیم و به چپ بریم. وقتی به اولین ۰ رسیدیم به ۱ تبدیل کنیم.
برای ضرب هم میدونیم ضرب عدد B (بصورت باینری) در [tex]2^i[/tex] هم ارز با قرار دادن iتا ۰ در سمت راست عدد B خواهد بود. کافیه یه کپی از B داشته باشیم و با توجه به تعداد ۱های عدد A عمل اضافه کردن ۰ و جمع رو انجام بدیم. (برای عمل جمع، عدد A حداقل باید دوتا ۱ داشته باشه) یا اینکه برای راحتی کار میشه هر مرحله یه واحد از A کم کرد و مقدار کپی شده از B رو با مقدار حاصل جمع، جمع کرد.
ممنون اما یکم گیج شدم، ممکنه لطف کنید و این الگوریتمی که گفتین رو با یک مثال توضیح بدین مثلا فرض کنیم A=0101 و B=1101 میشه برای اینها دو گامش رو برید
برای همین مثال بالا که زدم من بر اساس صحبت های شما اینطور برداشت کردم که
A و B روی tape هستند و مامیخواهیم جمع کنیم A اول اومده بعد هم B اومده و بایک علامت هم جدا شدند از هم.خوب حالا از ابتدای رشته ی A شروع میکنم و میرم تا به انتهاش برسم از انتهای رشته شروع میکنم به جمع کردم بیت انتهای رشته رو میگیرم بیت یکم از رشته ی A و میرم انتهای رشته ی B که i-1 امین بیتش با احتساب i=1 برابر با صفر میشه از بیت i ام رشته B شروع میکنم و هرچی یک دیدم سر راهم تبدیل به ۰ میکنم و به اولین صفری که رسیدم اون رو تبدیل به یک میکنم و باقی رشته خودش گذاشته میشه که برای مثال ما میشه ۱۱۱۰
درگام دوم همین عمل رو تکرار میکنیم این دفعه برای صفر انتهایی دیگه این عمل رو تکرار نمیکنیم چرا که از i-1 امی باید شروع کنیم که مرحله دوم میشه بیت دوم.
خوب حالا این روند ادامه داره تا تمام بشه رشته
برای من چند تا سوال ایجاد شده یکی اینکه روی رشته B که نمینویسیم حاصل جمع رو نه؟ چون برای جمع بیت بعدی لازم دارم خود رشته اصلی رو
و یک سوال دیگه طول رشته مون هرچی بود نباید یک خونه صفر خالی سمت چپش بگذاریم برای carry؟ چون الان همین مثال کری برابر با یک میشه و خوب اگر یک خونه با مقدار صفر نباشه تغییر میکنه جواب.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

Jooybari پاسخ داده:

RE: ماشین استاندارد تورینگ-ضرب کننده و جمع کننده باینری

(۲۶ آذر ۱۳۹۳ ۰۶:۱۷ ب.ظ)m-kafiyan نوشته شده توسط:  ممنون اما یکم گیج شدم، ممکنه لطف کنید و این الگوریتمی که گفتین رو با یک مثال توضیح بدین مثلا فرض کنیم A=0101 و B=1101 میشه برای اینها دو گامش رو برید

برای جمع:
به ازای ۱ سمت راست از A که به B اضافه میشه، مقدار B به ۱۱۱۰ تغییر میکنه. اولین بیت B برابر ۱ بود که به ۰ تغییر میکنه دومین بیت هم ۰ بود که به ۱ تغییر میکنه. چون به صفر رسیدیم عمل جمع این بیت تموم شده.
به ازای دومین ۱ از A (بیت سوم) باید روی بیت سوم از B بریم و جمع رو انجام بدیم. مقدار حاصل از ۱۱۱۰ به ۱۰۰۱۰ تغییر میکنه. بیت سوم و چهارم از B از ۱ به ۰ تغییر میکنن و بیت پنجم (وجود نداره و ما ۰ درنظر میگیریم) به ۱ تغییر میکنه و عمل جمع بیت تموم میشه.
چون مقدار A هیچ ۱ دیگه ای نداره عمل جمع تمومه.

برای ضرب:
مقدار حاصل از شیفت B به ازای اولین بیت ۱ از A:
۱۱۰۱
مقدار حاصل از شیفت B به ازای دومین بیت ۱ از A:
۱۱۰۱۰۰
چون دو مقدار حاصل شد باهم جمع میکنیم. حاصل میشه ۱۰۰۰۰۰۱
مقدار A دیگه ۱ نداره. پس نیاز به عمل شیفت و جمع دیگه ای نیست.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

m-kafiyan پاسخ داده:

RE: ماشین استاندارد تورینگ-ضرب کننده و جمع کننده باینری

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

برای ضرب:
مقدار حاصل از شیفت B به ازای اولین بیت ۱ از A:
۱۱۰۱
مقدار حاصل از شیفت B به ازای دومین بیت ۱ از A:
۱۱۰۱۰۰
چون دو مقدار حاصل شد باهم جمع میکنیم. حاصل میشه ۱۰۰۰۰۰۱
مقدار A دیگه ۱ نداره. پس نیاز به عمل شیفت و جمع دیگه ای نیست.

ممنون توضیحاتتون بسیار واضح و خوب بود.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  اصول ماشین های کنترل عددی و مطلبی ملینا ارشد ۱ ۲,۳۶۶ ۲۸ بهمن ۱۴۰۰ ۰۸:۰۹ ب.ظ
آخرین ارسال: vista2000
  بوک کلاب ماشین لرنینگ با حضور متخصص از شرکت های گوگل ، اساتید و دانشجویان دکترا و. Doctorwho ۰ ۱,۶۸۵ ۱۳ آبان ۱۴۰۰ ۱۲:۰۹ ب.ظ
آخرین ارسال: Doctorwho
  سوال یادگیری ماشین isoa ۳ ۴,۳۴۳ ۰۸ مرداد ۱۳۹۹ ۰۶:۳۴ ق.ظ
آخرین ارسال: BBumir
  نحوه محاسبه دفیق لگاریتم بدون ماشین حساب mcse2010 ۲ ۸۲,۵۴۶ ۲۸ مهر ۱۳۹۸ ۰۹:۳۸ ق.ظ
آخرین ارسال: chemical_darton29
  لینک دانلود نسخه ازمایشی ترجمه کتاب یادگیری ماشین میشل انرژی مثبت ۲ ۱۳,۰۶۷ ۱۷ شهریور ۱۳۹۸ ۱۱:۱۶ ب.ظ
آخرین ارسال: forooghfp7078
  جزوه یا کتاب یادگیری ماشین پری ۲۷ ۴۵,۷۰۷ ۲۳ خرداد ۱۳۹۸ ۱۱:۰۴ ق.ظ
آخرین ارسال: dr.a_AI
  حل تشریحی ارشد نظریه زبان ها و ماشین ها ۹۴ تا ۹۷ Sanazzz ۰ ۳,۷۴۱ ۲۰ خرداد ۱۳۹۸ ۰۷:۵۳ ب.ظ
آخرین ارسال: Sanazzz
  تست جمع کننده با پیش گویی رقم نقلی Sanazzz ۰ ۱,۸۷۲ ۲۹ اردیبهشت ۱۳۹۸ ۰۲:۲۴ ب.ظ
آخرین ارسال: Sanazzz
Sad جمع کننده پیش گویی رقم نقلی Sanazzz ۸ ۷,۶۸۷ ۱۹ اردیبهشت ۱۳۹۸ ۰۲:۰۴ ق.ظ
آخرین ارسال: Sanazzz
  دانلود حل المسائل شبکه های عصبی و ماشین های یادگیر نوشته سایمون هایکین ویرایش سوم jazana ۹ ۱۰,۱۴۷ ۱۲ اردیبهشت ۱۳۹۸ ۰۷:۲۹ ب.ظ
آخرین ارسال: Mahtabdel72

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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