کامپیوتر با عدد منفی چه کار میکند؟ آموزش و یادگیری کامپیوتر با عدد منفی چه کار میکند؟ به صورت رایگان
مسئله نمایش اعداد منفی
سلام!
تا اینجا دیدیم که کامپیوتر میتونه با ۰ و ۱ یه دست و پایی در بیاره واسه خودش و عدد بسازه.
مثلاً:
اما این عدد مثبته(نه بابا چشم بسته غیب گفتی؟!!).
حالا سؤال اینه: اگر بخواهیم بنویسیم «منفی ۱۱» چی؟
ما خیلی راحت یک علامت منفی میگذاریم و مینویسیم:
اما کامپیوتر فقط بیت میبینه.
یعنی فقط میتونه ۰ و ۱ ببینه؛ نه علامت «−»، نه مثبت بودن را به شکلی که ما انسان ها استفاده میکنیم.
پس کامپیوتر باید با همان بیت ها، هم مقدار عدد رو نگه داره و هم مشخص کنه عدد مثبته یا منفی.
ایدهی اول: یک بیت برای علامت
سادهترین ایده این است که یک بیت را برای علامت کنار بگذاریم.
مثلاً قرار میگذاریم:
و:
مثال
مثال: عدد ۵+ با ۸ بیت
اگر بخواهیم عدد ۵+ را با ۸ بیت بنویسیم، میتوانیم اینطور فکر کنیم:
- بیت اول (همونی که جداش کردیم) میگوید عدد مثبت است
- هفت بیت بعدی مقدار ۵ را نشان میدهند
برای ۵- فقط بیت اول را عوض میکنیم:
این روش چه نام دارد؟
به این ایده میگویند Sign and Magnitude؛
یعنی «علامت و مقدار».
این روش در نگاه اول خیلی طبیعی به نظر میرسد؛ تقریباً همان کاری را میکنیم که خودمان روی کاغذ انجام میدهیم.
اما دو مشکل وجود دارد
مشکل اول:
صفر نه مثبت است و نه منفی.
با این حال، در این روش میتوانیم صفر را به دو شکل بنویسیم:
و:
هر دو در عمل یعنی صفر.
یعنی دو الگوی بیتی متفاوت داریم که یک مقدار را نشان میدهند.
این برای طراحی مدار و انجام محاسبات، ایده خوبی نیست.
مشکل دوم:
جمع و تفریق ساده نیست.
مثلاً کامپیوتر باید قبل از جمع زدن بررسی کند که:
- علامت دو عدد چیست؟
- بعد تصمیم بگیرد باید جمع کند یا تفریق؟
- و در آخر هم علامت جواب را مشخص کند.
پس…
ما تازه با «مسئله عدد منفی» روبهرو شدیم، نه با جواب نهایی آن.
کامپیوتر برای نمایش عدد های منفی چند روش دارد.
در تِرِد بعدی، دو روش کلاسیک را میبینیم:
Sign and Magnitude و One’s Complement
بعد هم میرسیم به روشی که امروز بیشتر کامپیوتر ها از آن استفاده میکنند:
Two’s Complement
با این داداشت همراه باش!!!