PDA

نسخه کامل مشاهده نسخه کامل : نمایش اعداد منفی در کامپیوتر . چگونه ؟



amatis23
19-02-2012, 23:31
سلام دوستان :20:
می خواستم بدونم که چه طور می شه توی زبان اسمبلی عدد -10 (منفی ) رو به نمایش در آورد. متشکرم:11:

amatis23
23-02-2012, 15:28
کسی نیست جواب منو بده ؟

Core
23-02-2012, 16:52
اعداد منفی رو به 2 صورت مکمل 1 و مکمل 2 تو کامپیوتر نشون میدن.
روش مکمل 1 به این صورت هست که تمام بیت های عدد رو معکوس میکنند. این روش 1 ایراد داره و اونم این هست که عدد صفر به دو صورت تو کامپیوتر ذخیره میشه.
روش مکمل 2 به این صورت هست که اول تمام بیت های عدد رو معکوس میکنند ( مکمل 1 را بدست می آورند ) و سپس عدد حاصل را با 1 جمع می کنند. این روش کاربردی تر هست.
برای بدست آوردن مکمل 2 یک روش ساده تر هم وجود داره که به این شکل هست که اول عدد رو به مبنای 2 برده و سپس از سمت راست عدد را میخوانیم و اگر صفر بود خودش را مینویسیم و به محض اینکه به اولین عدد 1 رسیدیم آن را نوشته و از آن به بعد همه اعداد را معکوس می کنیم.
سؤالی بود در خدمتم
موفق باشید

amatis23
24-02-2012, 14:10
متشکرم ..............اما می شه یه کم واضح تر توضیح بدید ..............من تازه این ترم درس سخت افزار و زبان ماشین رو برداشتم هنوز خیلی با این اصطلاحات آشنا نیستم

Core
24-02-2012, 22:28
دوست عزیز اول باید عدد مورد نظرتون رو به مبنای 2 ببرید تا تبدیل به رشته ای از بیت های 0 و 1 بشه. برای بردن هر عدد مبنای 10 ( اعداد معمولی خودمون ) به هر مبنایی باید اون رو تقسیم های متوالی به مبنای مورد نظر کنید و در آخر تمام باقیمانده را از راست به چپ کنار هم بنویسید. بعد که عدد مورد نظرتون به رشته ای از بیت ها تبدیل شد از دو روشی که در بالا گفتم میتونید به سادگی منفی اون رو بدست بیارید.
برای مثال عدد 10 رو در نظر بگیرید. این عدد در مبنای 10 هست و اول باید به مبنای 2 برده بشه. مبنای دو عدد 10 برابر با 1010 می باشد. حالا ابتدا تمام بیت های آن را معکوس می کنیم. ( 0 را به 1 و 1 را به صفر تبدیل می کنیم ) عدد حاصل 0101 می شود. این عدد جدید را با 1 جمع باینری می کنیم. عدد حاصل 0110 می شود که این عدد معادل -10 می باشد.
موفق باشید.

amatis23
26-02-2012, 19:32
سلام مجدد.....................بایت توضیحات خوبتون متشکرم.........
سوال : حالا چه طور می شه تشخیص داد یه عدد باینری منفی هست یا مثبت ؟ ( اینو می دونم که در اعداد منفی همیشه رقم آخر 1 هست . اما برای مثبت ها صفر بودن یا 1 بودن هیچ فرقی نمی کنه ) با چه راهی می شه تشخیص داد ؟

amatis23
29-02-2012, 21:06
دوستان کسی نیست این یکی سوال منم جواب بده ؟

سوال : حالا چه طور می شه تشخیص داد یه عدد باینری منفی هست یا مثبت ؟ ( اینو می دونم که در اعداد منفی همیشه رقم آخر 1 هست . اما برای مثبت ها صفر بودن یا 1 بودن هیچ فرقی نمی کنه ) با چه راهی می شه تشخیص داد ؟

mousavmousab
26-10-2013, 19:28
سلام
حیف که دیگه خیلی دیره ولی خوب معلومه دیگه اگه عدد منفی نبود + است دیگه ؟!!!