حساب اعداد و مبناها
فایل ورد قابل ویرایش
كدگذاري، شيوه مناسبي براي نمايش و انتقال اطلاعات است. از كدهاي دودويي يا باينري براي انتقال و نمايش اطلاعات استفاده ميشود. بدين ترتيب امكان پردازش رايانه بر دادههاي عددي و غيرعددي فراهم ميآيد.
به نظر شما پاسخ عمل جمع زير چيست؟
1001000111+
1101100010
احتمالا خواهيد گفت 2102100121، اما كمي صبر كنيد. دادن
پاسخ به اين سئوال به اين بستگي دارد كه بدانيم اين اعداد در چه مبنائي قرار دارند! ما در حساب معمولي محاسبات را در مبناي ده انجام ميدهيم. اما رايانه اين كار را در مبناي دو انجام ميدهد.
مبناي ده، يعني اين كه ما براي نمايش اعداد، ده رقم داشته باشيم. فرق رقم و عدد چيست؟ يك عدد، از ارقام تشكيل شده است. ارقام در مبناي ده، عبارتند از 0، 1، ...، 8، 9 .
وقتي ميگوئيم ده رقم داريم، يعني وقتي يكي يكي به يك عدد اضافه ميكنيم، وقتي به 9 رسيد، عدد يكان صفر ميشود و عدد دهگان يكي اضافه ميشود. همين كار در سطوح بعدي هم اتفاق ميافتد. (يك شمارنده كيلومتر شمار را مجسم كنيد.)
اما اگر كيلومتر شماري داشته باشيم كه تنها دو رقم داشته باشد (0 و 1)، چه اتفاقي در شمارش ميافتد؟ تغييرات را به ترتيب مينويسيم (وقتي يكي يكي اضافه ميكنيم) :
0000000
0000001
0000010
0000011
0000100
اين يك شمارنده در مبناي دو است. عدد آخري هم صد نيست، بلكه يك، صفر، صفر است. حال بيائيد دو شمارنده مبناي دو و مبناي ده را با هم از صفر، يكي يكي در كنار هم افزايش دهيم:
0000000 0000
0000001 0001
0000010 0002
0000011 0003
0000100 0004
مشاهده ميكنيد كه عدد 100 در مبناي دو معادل 4 در مبناي ده است. كدگذاري بر مبناي ده (دهدهي)، يكي از انواع كدهاي متداول، است. اين مبنا به دليل اينكه ما انسانها از ابتدا حساب را بر آن ياد گرفتهايم، قابل فهم و درك براي ما است. دليل اصلي آن هم، احتمالا تعداد انگشتان دست يك انسان است. (احتمالا اگر در سيارهاي موجودي با 4 انگشت در هر دست و 3 دست زندگي كند، مبناي محاسبات 12 خواهد بود!!). در حاليكه انسان از حساب مبناي 10 (دهدهي) استفاده ميكند، رايانهها سيستم مبناي دو (دودويي) را بكار ميبرند.
ممكن است اين سؤال مطرح شود كه چرا در رايانه، از سيستم اعداد دودويي استفاده ميشود. پاسخ اين است، با توجه به سادهترين مدار الكترونيكي كه يك كليد شامل حالتهاي روشن و خاموش است، نگهداري اعداد در رايانه بر مبناي سطوح ولتاژ روشن و خاموش، شامل دو حالت 0 و1 است. بنابراين امكان نمايش دو رقم 0 و 1، ما را به انجام عمليات در مبناي دو سوق مي دهد. البته ميتوان رايانههايي ساخت که از مبنای ده استفاده نمايند، ولی اين كار مشكلات فني خاصي را تحميل ميكند كه بحث آن در گنجايش اين كتاب نيست (البته رايانه هاي با مبناي ده هم در مواردي ساخته شده اند).
در مبنای دو از دو رقم صفر و يک (ارقام باينری) استفاده میشود. رايانهها براي شناسايي اعداد و انجام محاسبات بر روي آنها، با تركيبي از مقادير صفر و يك، عمليات مختلفي را انجام ميدهند. در واقع در رايانه همه چيز از جمله اعداد، آدرس بخشهاي مختلف، نوع دستورالعملها و ... همگي با يك سري اعداد دودويي بيان ميشوند. اين همان معناي ساختار رقمي (ديجيتالي) رايانهها است.
در سيستم مبناي 10، ده نماد جدا از هم يعني 0و1و2و ... و 9 براي توليد اعداد وجود دارند. در حاليكه در سيستم دودويي تنها دو نماد 0 و 1 موجود است. براي كار بر روي سيستم اعداد دودويي لازم است تا با تبديل دهدهي به دودويي، و برعكس آشنا شويم و سپس چگونگي انجام عمليات اصلي رياضي بر روي اعداد دودويي را بررسي كنيم.
يكي راههاي معمول براي اين تبديل، انجام تقسيمات متوالي بر 2 است. طي اين تقسيم، باقيماندهها مورد استفاده قرار ميگيرند و عدد دودويي را توليد ميكنند. تقسيمات تا صفر شدن خارج قسمت ادامه پيدا ميكند. سپس باقيماندهها به صورت معكوس بدنبال هم نوشته ميشوند تا عدد دودويي حاصل شود.