
سلام:)
توی مقالهی قبلی، یعنی:
«کامپیوتر چطور متنی مثل Hi! رو میفهمه؟»
فهمیدیم که CPU کامپیوتر فقط دو چیز رو متوجه میشه:
۰ و ۱
که به اونها بیت یا همون اعداد باینری گفته میشه.
اگر کامپیوتر فقط ۰ و ۱ رو میفهمه، پس چطور میتونه متن، کلیک، موزیک، تصویر یا حتی چیزی که روی کیبورد تایپ میکنیم رو درک کنه؟
جواب:
انسانها و کامپیوترها کاملاً زبان متفاوتی دارن.
ما از:
حروف، کلمات، نمادها و ایموجیها استفاده میکنیم.
اما کامپیوتر
فقط سیگنالهای الکتریکی و الگوهای ۰ و ۱ رو میفهمه.
پس ما به یک مترجم بین انسان و کامپیوتر نیاز داریم.
یکی از اولین و معروفترین این مترجمها استاندارد ترجمه ای به اسم ASCII هست.
ASCII یک استاندارد قدیمی و معروفه که برای هر کاراکتر یک عدد مشخص تعیین میکنه.
برای مثال:
Character ASCII Number A 65 B 66 C 67 a 97 ! 33
یعنی وقتی شما حرف A رو تایپ میکنید، کامپیوتر در واقع خود حرف A رو ذخیره نمیکنه.
بلکه عدد:
65
رو ذخیره میکنه.
و چون کامپیوتر فقط ۰ و ۱ رو میفهمه، این عدد به باینری تبدیل میشه:
01000001
حالا CPU میتونه این الگو رو پردازش کنه.
مثلاً از کجا میفهمیم:
01000001
یعنی عدد 65 یا حرف A ؟
برای فهمیدن این موضوع، اول باید با چیزی به اسم:
مبنای اعداد یا Number Base آشنا بشیم.
ما انسانها هر روز از سیستم Base 10 استفاده میکنیم.
بهش Base 10 یا ده دهی یا مبنی ده میگن چون فقط از ۱۰ رقم استفاده میکنه:
۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹
برای مثال عدد:
101
در Base 10 فقط به معنی «۱، ۰، ۱» نیست.
هر جایگاه ارزش متفاوتی داره که بر اساس توانهای عدد ۱۰ مشخص میشه.
مثل این:
101 = (1 × 10²) + (0 × 10¹) + (1 × 10⁰)
که میشه:
(1 × 100) + (0 × 10) + (1 × 1) = 100 + 0 + 1 = 101
پس جایگاه هر عدد، معنی اون رو تغییر میده.
باینری هم دقیقاً همینطوری مثل بیس 10 کار میکنه.
اما به جای توانهای ۱۰، از توانهای ۲ استفاده میکنه.
و به جای ۱۰ رقم، فقط دو رقم داره:
۰ و ۱
برای مثال:
101
در باینری یعنی:
(1 × 2²) + (0 × 2¹) + (1 × 2⁰)
که میشه:
(1 × 4) + (0 × 2) + (1 × 1) = 4 + 0 + 1 = 5
پس:
101 در باینری = 5 در سیستم دهدهی
به همین شکل ما انسانها میتونیم الگوهای باینری رو دوباره به عدد و معنی قابل فهم تبدیل کنیم.
جادوی واقعی این نیست که کامپیوتر زبان انسانها رو بفهمه.
جادوی واقعی اینه که ما سیستمهایی مثل ASCII رو ساختیم تا انسانها و کامپیوترها بتونن با استفاده از اعداد و الگوهای باینری با هم ارتباط برقرار کنن.
و این فقط شروع ماجراست.
توی مقالههای بعدی، هرکدوم از این فرایندها رو عمیقتر بررسی میکنیم تا دقیقاً بفهمیم پشت صحنهی کامپیوترها چه اتفاقی میافته.