binary

به دنیای صفر و یک‌ خوش آمدید

تاحالا فکر کردی رایانه به چه زبانی حرف می‌زنه؟

binary

هر داده‌ای در رایانه به مجموعه‌ای از صفر و یک‌ها تبدیل میشه. در داخل هر رایانه میلیاردها چیز کوچک وجود داره که میشه آنها را روشن یا خاموش کرد، مانند یک سوئیچ چراغ، و این داده‌ها را ذخیره و پردازش کرد. به این شیوه نمایش داده‌ها با صفر و یک، نمایش دودویی یا باینری (binary) گفته میشه.

اما رایانه چطوری کلمه‌ها و اعداد را فقط با 0 و 1 نشان میده؟

کارت‌بازی

بیا برای رسیدن به جواب، با هم کارت بازی کنیم.

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

این کارت‌ها را برای خودت بساز و بازی رو مرحله به مرحله انجام بده.

Binary-Cards

از راست به چپ به کارت‌ها نگاه کن.

  • تعداد نقطه‌های هر کارت را زیر آن بنویس.
  • آیا میتونی تعداد نقطه‌های کارت بعدی را حدس بزنی؟
  • آیا میتونی یک الگوی مشخص برای کارت بعدی پیدا کنی؟

با جمع کردن تعداد نقطه‌های بعضی از کارت‌ها بقیه اعداد را هم می‌تونی بسازی. مثلا عدد 6، 15 و 21 را.

این کار را انجام بده و ببین چه اعداد دیگری رو میسازی.

وقتی کارتی به پشت هست آن را با صفر، و وقتی روی آن دیده میشه، با یک نشان میدیم. این همان سیستم عددی دودویی یا باینری است.

کارت‌ها را به ترتیب روی میز قرار بده و اعداد مبنای دو  را بساز. مثلا 01001، 10101 و 11111

اینطور مثلا می‌تونیم عدد 9 را بسازیم:

Binary-to-Decimal

یعنی یک دونه 8 به علاوه یک دونه 1.

کارت‌های شکل زیر عدد 5 را نشان می‌دهد. آیا میتونی عددهای 3، 12 و 19 را هم نشان بدی؟

Binary-to-Decimal

تبدیل به برنامه پایتون

بیا با هم کد پایتون رو بنویسیم.

می‌خواهیم ببینیم هر عددی که با تایپ کردن وارد رایانه می‌کنیم، در حافظه رایانه به چه شکلی دیده می‌شود. یا به‌عبارتی رایانه آن را چگونه می‌بیند.

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

چون ورودی بطور پیش‌فرض در پایتون بصورت رشته ذخیره می‌شود با متد int آن را به عدد صحیح تبدیل می‌کنیم.

(ضمنا این کد برای اعداد 0 تا 15 نوشته شده.)

اگر بخوایم برای دریافت ورودی در محیط ترتل باشیم، و با یک کادر پیام از کاربر بخواهیم که عدد مورد نظر را تایپ کند، کد زیر را می‌نویسیم. در این کد محدوده‌ای که برای ورودی درنظر گرفتیم را نیز تعیین می‌کنیم. (کوچکترین و بیشترین مقدار)

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

برای حذف دو کاراکتر اول، دستور را به صورت زیر می‌آوریم.

با توجه به طول عدد به ابتدای آن تعدادی صفر اضافه می‌کنیم، تا تعداد ارقام همه آنها یکسان شود.

برای ساخت کارت‌های اعداد کد زیر را اضافه می‌کنیم. تا برای صفر هیچ کارتی نشان داده نشود. در واقع آن کارت را مخفی می‌کنیم.

اینکه چطور عکس کارت‌ها در برنامه اضافه شده را میتونی در این خواندنی ببینی.

برای دانلود برنامه کامل اینجا را کلیک کن.

Decimal-to-Binary

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

 

 


بیشتر بخوانید