PDA

View Full Version : جمع دو عدد در مبناي 8



programer1389
چهارشنبه 27 مهر 1390, 14:14 عصر
ميخواستم بدونم رقم نقلي يعني چي؟
تو درس زبان ماشين من اين اصطلاح رو اونجا ديدم كه ميخواست دو عدد 175 و 164.62 كه هردو در مبناي 8 هستن رو از هم كم كنه و اومده بود مبناي كاهش يافته عدد دوم( يعني 164.62 )رو حساب كرده بود كه شده بود 613.15 و سپس اون رو با عدد اول جمع كرده بود و در نهايت با عدد يك در پايين ترين مرتبه جمع كرده بود

175.00
+
613.15
----------------
010.15


تو اون جمع بالا چون 5+3 ميشه 8 اما اين عدد درمبناي هشت وجود نداره اومده يك صفر گزاشته و عدد ستون بعدي رو با يك جمع كرده ايا اين همون رقم نقلي ميشه

programer1389
یک شنبه 01 آبان 1390, 12:06 عصر
اون 6+1 اخري هم همين وضعيت رو پيدا ميكنه يعني ميشه 6+1+1 كه ميشه هشت كه تو مبناي هشت اين عدد نيست پس براي تبديل اون از مبناي 10 به مبناي هشت ميبريمش كه ميشه يك صفر در مبناي هشت كه از اون يك صرف نظر ميكنيم يعني بايد جواب ميشد 1010.15 كه از اون يك اخري صرف نظر ميكنيم اون عدد اخري ميشه رقم نقلي خودم فهميدم:تشویق:

xman_1365_x
پنج شنبه 05 آبان 1390, 04:46 صبح
ميخواستم بدونم رقم نقلي يعني چي؟
دو دفعه حرفام موقع ارسال از بین رفت واقعا حسشو ندارم اون همرو دوباره بگم:اشتباه: پس خلاصه تر میگم
هر رقم در هر مبنا در چهار عمل اصلی میتونه کری یا بارو داشته باشه که به عدد بعدی بده یا از عدد بعدی قرض بگیره
وقتی شما در مبنای دو 0 و 1 دارین پس 1+1 کری به وجود میاد که در بازه مبنا نیست و به عدد بعدی میدیم و به همین صورت در تفریق 1-0 که از عدد بعدی قرض میگیریم بارو داریم و...

تو اون جمع بالا چون 5+3 ميشه 8 اما اين عدد درمبناي هشت وجود نداره اومده يك صفر گزاشته و عدد ستون بعدي رو با يك جمع كرده ايا اين همون رقم نقلي ميشه
همونطور که گفتم در هر رقم میتونیم کری یا بارو داشته باشیم ، همونطور در عدد آخری که ذکر کردین که حاصل میشه 1010.15 اما چون شما r-1 در تقریق بدست آورین باید کری رو با حاصل جمع کنید 010.16

اون 6+1 اخري هم همين وضعيت رو پيدا ميكنه يعني ميشه 6+1+1 كه ميشه هشت كه تو مبناي هشت اين عدد نيست پس براي تبديل اون از مبناي 10 به مبناي هشت ميبريمش كه ميشه يك صفر در مبناي هشت كه از اون يك صرف نظر ميكنيم يعني بايد جواب ميشد 1010.15 كه از اون يك اخري صرف نظر ميكنيم اون عدد اخري ميشه رقم نقلي خودم فهميدم
قسمت اول حرفتون نفهمیدم و نمیدونم چه ربطی به مبنای 10 و تبدیل داشت اما رقم نقلی هر رقم میتونه داشته باشه اما در زبان ماشین برای ما آخرین بیت مهم هست و ثباتی هم برای نشان دادن وضعیتش به کار رفته که برنامه نویس متوجه باشه و محاسباتش اشتباه نشه
اینبار اول اینارو بردم به کلیپ برد:لبخند:
موفق باشی

amirfz
شنبه 07 آبان 1390, 21:27 عصر
:متفکر::متفکر::متفکر:وقتی محتوای چندین خانه از حافظه را با هم جمع نماییم ممکن است سرریز اتفاق بیفتد لطفا قطعه کدی جهت رفع سرریز می خوام؟

xman_1365_x
دوشنبه 09 آبان 1390, 07:49 صبح
:متفکر::متفکر::متفکر:وقتی محتوای چندین خانه از حافظه را با هم جمع نماییم ممکن است سرریز اتفاق بیفتد لطفا قطعه کدی جهت رفع سرریز می خوام؟
این یک چیز عادی هست شما به عنوان برنامه نویس کنترلش میکنید مثلا اگر دو عدد 16 بیتی ضرب کنید در بدترین حالت(بزرگ باشن اعداد) نیاز به 32 بیت برای نگهداری نتیجه داریم . شما هم حافظه دابل ورد تعریف میکنی و نتیجه نگه میداری برای جمع هم دستور add و adc برای اینکار هست که موقعی که فکر میکنید کری رخ داده یکی به قسمت در نظر گرفته شده بعد اضافه میکنی (بایت های بعد در نظر گرفته شده)