ویرگول
ورودثبت نام
حسین ناصری
حسین ناصری
حسین ناصری
حسین ناصری
خواندن ۲ دقیقه·۴ روز پیش

کامپیوترها و انسان‌ها چطور با هم حرف می‌زنن؟ ASCII چیه؟

سلام:)
توی مقاله‌ی قبلی، یعنی:
«کامپیوتر چطور متنی مثل Hi! رو می‌فهمه؟»
فهمیدیم که CPU کامپیوتر فقط دو چیز رو متوجه میشه:

۰ و ۱

که به اون‌ها بیت یا همون اعداد باینری گفته میشه.

اما اینجا یه سوال مهم پیش میاد!

اگر کامپیوتر فقط ۰ و ۱ رو می‌فهمه، پس چطور می‌تونه متن، کلیک، موزیک، تصویر یا حتی چیزی که روی کیبورد تایپ می‌کنیم رو درک کنه؟

جواب:

مترجم‌ها و استانداردهای ترجمه بین ماشین و کامپیوتر

انسان‌ها و کامپیوترها کاملاً زبان متفاوتی دارن.

ما از:
حروف، کلمات، نمادها و ایموجی‌ها استفاده می‌کنیم.

اما کامپیوتر
فقط سیگنال‌های الکتریکی و الگوهای ۰ و ۱ رو می‌فهمه.

پس ما به یک مترجم بین انسان و کامپیوتر نیاز داریم.
یکی از اولین و معروف‌ترین این مترجم‌ها استاندارد ترجمه ای به اسم ASCII هست.

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 یا مبنای 10چیست؟


ما انسان‌ها هر روز از سیستم Base 10 استفاده می‌کنیم.

بهش Base 10 یا ده دهی یا مبنی ده میگن چون فقط از ۱۰ رقم استفاده می‌کنه:

۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹

برای مثال عدد:

101

در Base 10 فقط به معنی «۱، ۰، ۱» نیست.

هر جایگاه ارزش متفاوتی داره که بر اساس توان‌های عدد ۱۰ مشخص میشه.

مثل این:

101 = (1 × 10²) + (0 × 10¹) + (1 × 10⁰)

که میشه:

(1 × 100) + (0 × 10) + (1 × 1) = 100 + 0 + 1 = 101

پس جایگاه هر عدد، معنی اون رو تغییر میده.

باینری یا Base 2 چیه؟


باینری هم دقیقاً همینطوری مثل بیس 10 کار می‌کنه.
اما به جای توان‌های ۱۰، از توان‌های ۲ استفاده می‌کنه.
و به جای ۱۰ رقم، فقط دو رقم داره:

۰ و ۱

برای مثال:

101

در باینری یعنی:

(1 × 2²) + (0 × 2¹) + (1 × 2⁰)

که میشه:

(1 × 4) + (0 × 2) + (1 × 1) = 4 + 0 + 1 = 5

پس:

101 در باینری = 5 در سیستم ده‌دهی

به همین شکل ما انسان‌ها می‌تونیم الگوهای باینری رو دوباره به عدد و معنی قابل فهم تبدیل کنیم.

جادوی واقعی این نیست که کامپیوتر زبان انسان‌ها رو بفهمه.
جادوی واقعی اینه که ما سیستم‌هایی مثل ASCII رو ساختیم تا انسان‌ها و کامپیوترها بتونن با استفاده از اعداد و الگوهای باینری با هم ارتباط برقرار کنن.

و این فقط شروع ماجراست.
توی مقاله‌های بعدی، هرکدوم از این فرایندها رو عمیق‌تر بررسی می‌کنیم تا دقیقاً بفهمیم پشت صحنه‌ی کامپیوترها چه اتفاقی می‌افته.

کامپیوترتکنولوژیبرنامه نویسی
۶
۰
حسین ناصری
حسین ناصری
شاید از این پست‌ها خوشتان بیاید