سامانه دودویی یا باینری: زبانی که رایانهها با آن میاندیشند
۱. الفبای دو حرفی: بیتها چگونه متولد میشوند؟
رایانهها برخلاف انسان که از ده رقم (صفر تا نه) در سامانهٔ دهدهی1 استفاده میکنند، تنها دو وضعیت فیزیکی را تشخیص میدهند: جریان برق وجود دارد یا وجود ندارد، ولتاژ بالاست یا پایین، یک نقطه روی دیسک سخت مغناطیسی شده یا نشده است. به هر کدام از این دو وضعیت یک رقم دودویی میگوییم که در فارسی بیت2 نامیده میشود. بیتها را با نمادهای 0 (بدون جریان) و 1 (با جریان) نمایش میدهیم. هر بیت کوچکترین واحد داده در رایانه است.
برای درک بهتر، یک کلید چراغ را تصور کنید. کلید فقط دو حالت دارد: خاموش (نمایشگر 0) یا روشن (نمایشگر 1). با ترکیب هشت کلید میتوان 256 حالت متفاوت (از 00000000 تا 11111111) ایجاد کرد. این گروه هشتبیتی یک بایت3 نام دارد که برای ذخیرهٔ یک حرف الفبا یا یک رقم در حافظه کافی است.
۲. تبدیل عددهای دهدهی به دودویی (روش تقسیم متوالی)
برای تبدیل یک عدد دهدهی (مثل 13) به دودویی، عدد را بر 2 تقسیم میکنیم و باقیماندهها را از آخر به اول مینویسیم. این روش پایهٔ تمام محاسبات رایانهای است.
13 ÷ 2 = 6 باقیمانده 1 (کمارزشترین بیت)
6 ÷ 2 = 3 باقیمانده 0
3 ÷ 2 = 1 باقیمانده 1
1 ÷ 2 = 0 باقیمانده 1 (پر ارزشترین بیت)
با خواندن باقیماندهها از آخر به اول: 1101
به این ترتیب عدد 13 در سامانهٔ دودویی به صورت 1101 نمایش داده میشود. هر رقم دودویی نشاندهندهٔ یک توان از عدد 2 است. از راست به چپ، هر بیت به ترتیب نشاندهندهٔ 2^0، 2^1، 2^2 و ... میباشد.
| سامانه | مبنا | ارقام مجاز | مثال (عدد ۲۵) |
|---|---|---|---|
| دهدهی | 10 | 0-9 | 25 |
| دودویی | 2 | 0,1 | 11001 |
۳. عملیات ریاضی در دنیای دودویی: جمع و تفریق باینری
رایانهها با استفاده از دروازههای منطقی4 که از ترانزیستورها ساخته شدهاند، عملیات جمع و تفریق را روی بیتها انجام میدهند. قوانین جمع دودویی بسیار ساده است:
- 0 + 0 = 0 (نقل به بیرون صفر)
- 0 + 1 = 1
- 1 + 0 = 1
- 1 + 1 = 0 (نقل 1 به ستون بعدی)
(عدد 11 دهدهی + 7 دهدهی = 18 دهدهی)
برای تفریق نیز روش مشابهی وجود دارد، اما رایانهها معمولاً از روش مکمل دو5 استفاده میکنند تا تفریق را به جمع تبدیل کنند. در این روش، عدد منفی را به صورت مکملشده نمایش داده و سپس جمع میزنند که سختافزار پردازنده را سادهتر میکند.
۴. کاربرد عملی: چگونه یک تصویر یا موسیقی به دودویی تبدیل میشود؟
در یک تصویر دیجیتال، هر نقطه (پیکسل) با سه عدد برای شدت رنگهای قرمز، سبز و آبی مشخص میشود. هر یک از این اعداد بین 0 تا 255 هستند و با یک بایت (8 بیت) نمایش داده میشوند. به این ترتیب هر پیکسل به 3 بایت یا 24 بیت اطلاعات دودویی تبدیل میشود. یک تصویر با ابعاد 1920×1080 پیکسل، نزدیک به 6.2 میلیون بایت دادهٔ خام دارد که همگی در حافظه به صورت رشتهای از صفر و یک ذخیره شدهاند.
برای صدا نیز همین اصل برقرار است: امواج صوتی در فواصل زمانی بسیار کوتاه (مثلاً هر 44,100 بار در ثانیه) نمونهبرداری6 شده و هر نمونه به یک عدد دودویی 16 یا 24 بیتی تبدیل میشود. بنابراین کل موسیقی که میشنوید در حافظه یا روی دیسک سخت به صورت میلیاردها بیت صفر و یک ذخیره شده است.
۵. چالشهای مفهومی در درک سامانه دودویی
پرسش ۱: چرا رایانهها از سامانهٔ دهدهی استفاده نمیکنند؟
پاسخ: ساخت قطعات الکترونیکی با ده وضعیت مجزا (برای ارقام 0 تا 9) بسیار دشوار و نویزپذیر است. دو وضعیت (ولتاژ بالا/پایین) به راحتی قابل تشخیص، مقاوم در برابر نویز و کمهزینه است. همچنین جبر بولی7 که پایهٔ طراحی مدارهای منطقی است، دقیقاً روی دو مقدار درست و نادرست (همان 1 و 0) کار میکند.
پرسش ۲: آیا همهٔ اعداد اعشاری را میتوان دقیقاً به دودویی تبدیل کرد؟
پاسخ: خیر. برخی اعداد اعشاری مانند 0.1 در مبنای ده، در مبنای دو به صورت کسر تناوبی بیپایان نمایش داده میشوند. رایانهها این اعداد را با تقریب ذخیره میکنند که گاهی باعث خطای محاسباتی کوچک میشود. به همین دلیل در نرمافزارهای حسابداری از روشهای خاصی برای دقت بیشتر استفاده میکنند.
پرسش ۳: بزرگترین عددی که با ۳۲ بیت میتوان نمایش داد چقدر است؟
پاسخ: با 32 بیت، حداکثر 2^{32} - 1 = 4,294,967,295 عدد صحیح بدون علامت قابل نمایش است. اگر بخواهیم اعداد منفی را هم نشان دهیم (با روش مکمل دو)، محدوده از -2,147,483,648 تا +2,147,483,647 خواهد بود. این همان محدودهٔ نوع دادهٔ int32 در بسیاری از زبانهای برنامهنویسی است.
پاورقیها
1سامانه دهدهی (Decimal system): سامانه عددی با مبنای 10 که انسانها به طور طبیعی از آن استفاده میکنند.
2بیت (Bit): مخفف عبارت Binary Digit به معنای رقم دودویی. کوچکترین واحد اطلاعات در رایانه.
3بایت (Byte): واحدی شامل 8 بیت که برای نمایش یک نویسه (کاراکتر) استاندارد کافی است.
4دروازههای منطقی (Logic gates): مدارهای الکترونیکی پایه مانند AND، OR و NOT که عملیات بولی را روی بیتها انجام میدهند.
5مکمل دو (Two's complement): روشی برای نمایش اعداد صحیح منفی در سامانه دودویی که عملیات تفریق را به جمع تبدیل میکند.
6نمونهبرداری (Sampling): فرایند تبدیل سیگنال پیوسته (مانند صدا) به مقادیر گسسته در لحظات مشخص زمانی.
7جبر بولی (Boolean algebra): شاخهای از ریاضیات که با مقادیر درست و نادرست (True/False) سروکار دارد و پایهٔ طراحی مدارهای دیجیتال است.