آموزش سیستم اعداد دودویی و تبدیل مبنای عدد مبنای 2

در مبنای 10، ده نماد جدا از هم یعنی 0 و 1 و 2 تا 9 برای تولید اعداد داریم. اما در سیستم اعداد دودویی دو نماد 0 و 1 وجود دارد. در این آموزش تبدیل مبنا دودویی را یاد گرفته و پنج مثال از تبدیل‌های عدد دودویی می‌زنیم.

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

سیستم عدد دودویی

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

در عدد دودویی دو علامت صفر و یک داریم. همه اعداد را با همین دو علامت نشان می‌دهیم. اما چطوری؟ هدف این آموزش دقیقاً همین است! 🙂 بیایید ابتدا ساختار سیستم دودویی (عدد در مبنای 2) را با هم بررسی کنیم.

اعداد عادی که همیشه با آن‌ها سروکار داریم در مبنای 10 هستند. اولین رقم سمت راست یک عدد مبنای ده، دارای ارزش یک است، دومین رقم ارزش 102 و همینطور تا آخر.

مثلاً در جدول زیر، عدد پانزده هزار و دویست و سه با ارزش هر رقم نمایش داده شده:

100101102103104
30251

عدد دودویی هم به همین شکل است، با این تفاوت که پایه ارزشش 2 است. یعنی ارزش اولین رقم 20، دومین رقم 21 و همینطور تا انتهاست.

ساختار نمایش اعداد باینری (دودویی)
ساختار نمایش اعداد باینری (دودویی)

اگر مایلید تاریخچه شکل‌گیری کدهای دودویی را بخوانید، این صفحه از ویکی‌پدیا جای خوبی است!

تبدیل از ده‌دهی به دودویی

برای تبدیل عدد از مبنای 10 به مبنای 2 روش‌های مختلفی وجود دارد؛ اما پایه آن‌ها شبیه به هم است.

یکی از راه‌های معمول و ساده برای تبدیل دسیمال به باینری (ده‌دهی به دودویی) انجام تقسیم‌های متوالی بر 2 است.

در این تقسیم‌ها، عدد مورد نظر (در مبنای 10) بر عدد 2 تقسیم می‌شود. این تقسیم یک باقی‌مانده (0 یا 1) و یک خارج قسمت دارد. تا زمانی که خارج قسمت معادل صفر شود، تقسیم‌ها بر 2 را انجام می‌دهیم.

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

مثال: فرض کنید می‌خواهیم عدد 25 در مبنای 10 را به مبنای دو تبدیل کنیم. برای این کار، مشابه مراحل تصویر زیر عمل می‌کنیم:

آموزش مراحل تبدیل مبنای 10 به مبنای 2
آموزش مراحل تبدیل مبنای 10 به مبنای 2

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

25 ÷  2  = 12  1
12 ÷  2  =  6   0
6  ÷  2  =  3   0
3  ÷  2  =  1   1
1  ÷  2  =  0   1

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

تبدیل عدد اعشاری به مبنای 2

برای تبدیل عدد اعشاری از مبنای 10 به مبنای 2، از ضرب متوالی عدد اعشاری در شماره‌ی مبنای جدید (یعنی 2) استفاده می‌کنیم.

عدد اعشاری ده‌دهی را در 2 ضرب می‌کنیم. نتیجه، یک رقم صحیح و یک مقدار اعشاری خواهد داشت. تا زمانی که بخش اعشاری معادل صفر نشده، بخش اعشاری را در 2 ضرب می‌کنیم. جزء صحیح هر کدام از ضرب‌ها، به ترتیب اعداد اعشاری مبنای 2 خواهند بود. (از چپ به راست در عدد اعشاری)

برای مثال، فرض کنید می‌خواهیم عدد اعشاری 0.875 را از مبنای 10 به مبنای 2 ببریم. سه محاسبه زیر را انجام می‌دهیم:

0.875 × 2 = 1.750
0.750 × 2 = 1.500
0.500 × 2 = 1.000

در نتیجه داریم: 2(0.111) = 10(0.875)

هنگام تبدیل مبنای بعضی اعداد، ممکن است هیچ وقت به بخش اعشاری صفر نرسیم! در اینصورت می‌گوییم این عدد دودویی مختوم نیست و بخش اعشاری تقریبی دارد.

نکته: اگر عدد شامل بخش صحیح و اعشاری باشد، باید هر بخش را جداگانه به سیستم دودویی (مبنای دو) تبدیل کنید.

تبدیل مبنای دو به مبنای 10

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

فرض کنید می‌خواهیم 110012 را تبدیل کنیم. در باکس زیر، ردیف اول، ارزش هر جایگاه هست. ردیف سوم حاصل ضرب مقدار در ارزش است.

16   8   4   2   1
1    1   0   0   1
16 + 8 + 0 + 0 + 1 = 25

در نهایت، جمع این مقادیر عدد ما در مبنای 10 خواهد بود؛ یعنی 2510.

برای اینکه این محاسبه را به صورت تصویری هم داشته باشیم، تبدیل عدد 101102 در مبنای دو را در عکس زیر داریم:

آموزش مراحل تبدیل مبنای 2 به مبنای 10 (باینری به دسیمال)
آموزش مراحل تبدیل مبنای 2 به مبنای 10 (باینری به دسیمال)

با دانستن وزن هر مکان بیت دودویی، می‌توانیم بدون انجام تقسیم و به صورت حفظی یک عدد ده‌دهی را به دودویی تبدیل کنیم. 🙂

تبدیل عدد اعشاری مبنای 2 به ده

برای تبدیل عدد اعشاری از مبنای 2 هم به‌طور مشابه عمل می‌کنیم. اما توجه کنید که ارزش جایگاه در بخش اعشاری اعداد سیستم دودویی، با توان منفی است. یعنی اولین رقم بعد از اعشار معادل 2 به توان 1- ارزش داشته و رقم بعدی 2-2.

در محاسبه زیر، عدد اعشاری 0.1011 در مبنای 2 را به مبنای 10 تبدیل کرده‌ام:

(0.1011)2 = [1 × (2-1)] + [1 × (2-3)] + [1 × (2-4)] = (0.6875)10

در این آموزش سعی کردم علاوه بر معرفی ساختار اعداد در سیستم دودویی، نحوه انجام محاسبات تبدیل مبنای 2 را آموزش دهم. نمایش اعداد در مبنای دو ممکن است به روش‌های مختلفی انجام شود؛ ما سیستم‌های مختلفی برای ارزش‌گذاری بیت‌های عددی اعداد دودویی (باینری) داریم. در آموزش کدهای عددی چند نمونه پر استفاده از دنیای دیجیتال و مباحث محاسباتی را بررسی کرده‌ایم.

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

یادتان باشد که نحوه محاسبات تبدیل مبنا در هر مبنای دیگر، دقیقاً به همین شکل است! پس تبریک می‌گم، شما تبدیل مبنا را به طور کامل یاد گرفتید. 😉

اگر می‌خواهید خودتان را بسنجید، این دو سؤال را برای خودتان حل کنید:

  • عدد 14 در مبنای دو به چیست؟
  • عدد 11101 در مبنای دو معادل چه عددی در مبنای 10 است؟