رفتن به محتوا

جلسه ششم

سیستم اعداد

بطور کلی سیستم اعدادی که ما از اول ابتدایی تا الان با آن سروکار داشته ایم سیستم اعداد در مبنای 10 یا ده دهی یا همان دسیمال Decimal می باشد. با پیشرفت علم نیاز به سیستم اعداد دیگری نیز احساس شد که مهمترین آن سیستم اعداد دودویی یا باینری Binary است. بطور کلی سیستم اعداد در مبناهای مختلف می تواند وجود داشته باشد یعنی مبنای 2، مبنای 3، مبنای 4، مبنای 5 و الی آخر … ولی کاربرد خیلی از این مبناها بیشتر از بقیه هست و در طول زمان سیستم ها از مبناهای مرسوم استفاده کرده اند و ما الان با 4 نوع مبنا اصلی در سیستم اعداد سروکار داریم و بقیه آنها کاربردی ندارند. این مبناها عبارتند از:

  • مبنای دودویی یا باینری Binary
  • مبنای هشت یا اوکتال Octal
  • مبنای ده دهی یا دسیمال Decimal
  • مبنای شانزده یا هِگزا دسیمال Hexadecimal

بصورت کلی در هر مبنایی که ما کار می کنیم رقم‌های استفاده شده در آن کمتر از عدد یا نام آن مبنا است مثلاً رقم‌های مجاز در مبنای 2 کمتر از 2 است یعنی 0 و 1.

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

برای تبدیل یک عدد از مبنای 10 ( دسیمال ) به مبنای 2 (باینری) دو روش داریم:

روش تقسیم‌های متوالی

مثالی از روش تقسیم‌های متوالی

این روش یک روش پایه ای است که ممکن است کمی زمانبر باشد. تبدیل مبنا از مبنای 10 به مبنای 2 با یک روش دیگر هم انجام پذیر است.

روش ترازو!

برای استفاده از روش ترازو ما ابتدا نیاز داریم وزنه های خودمان در سیستم اعداد را بشناسیم. همانطور که قبلاً هم گفتیم اساس کار ما در تبدیلات بر اساس سیستم دودویی هست پس وزنه های دودویی خودمان را بصورت زیر مشخص می کنیم:

توضیح تصویر

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

اگر بخواهیم عدد را یک بار دیگر با این روش به مبنای 2 ببریم، به صورت زیر عمل می‌کنیم:

توضیح تصویر

در مثال بالا برای بدست آوردن عدد احتیاج به وزنه های داریم پس در جدول جای این وزنه های که استفاده شده اند و بجای وزنه های استفاده نشده می گذاریم. به همین راحتی اعداد باینری بدست آمده باینری عدد را به ما خواهد داد. مثال دیگری را امتحان می کنیم عدد را می خواهیم به باینری تبدیل کنیم طبق شکل ما وزن های زیر را انتخاب خواهیم کرد:

توضیح تصویر

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

در آموزش تبدیل مبنا برای تبدیل مبنای دودویی به ده دهی یا باینری به دسیمال برعکس کار بالا را انجام می دهیم یعنی عدد باینری خودمان را به ترتیب در خانه ها می گذاریم و جاهایی که است وزنه ها را باهم جمع می کنیم. مثلاً برای بدست آوردن مقدار دهدهی عدد این عدد را طبق شکل در جدول قرار می دهیم سپس خانه هایی که هستند وزنشان را باهم جمع می کنیم:

توضیح تصویر

تبدیل مبنای هشت به دودویی و بالعکس

برای تبدیل مبنای هشت به دودویی، باید به خوبی روش تبدیل اعداد دودویی به ده دهی و برعکس را یاد گرفته باشیم. همچنین باید بدانیم اعداد باینری و دسیمال از تا چگونه هستند. اعداد مبنای ۸ را می‌توان با سه بیت نمایش داد. به‌عنوان مثال:

جدول زیر که این تبدیل‌ها را خلاصه می‌کند را بخاطر بسپارید:

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

مثالی از تبدیل مبنای هشت به دودویی

عدد را به مبنای دودویی تبدیل می‌کنیم. با کنار هم گذاشتن باینری و طبق جدول بالا، نتیجه به‌دست می‌آید:

مثال تبدیل مبنا

مثالی از تبدیل مبنای دودویی به هشت

برای تبدیل مبنای دودویی به هشت، اعداد باینری را سه‌تایی از سمت راست جدا کرده و معادل آن‌ها را از جدول می‌نویسیم. به‌عنوان مثال، در مبنای هشت به صورت زیر است:

مثال تبدیل باینری به اوکتال

تبدیل مبنای شانزده به دودویی و بالعکس

اعداد مبنای ۱۶ (هگزادسیمال) را می‌توان با چهار بیت نشان داد. به‌عنوان مثال:

جدول زیر را بخاطر بسپارید:

تبدیل مبنای شانزده به دودویی

مثالی از تبدیل مبنای شانزده به دودویی

برای تبدیل عدد به دودویی، باینری هر رقم را به صورت ۴ بیتی کنار هم قرار می‌دهیم:

مثال تبدیل هگزادسیمال به باینری

مثالی از تبدیل مبنای دودویی به شانزده

عدد را به شانزده تبدیل می‌کنیم. چهار بیت چهار بیت جدا کرده و معادل هگز آن‌ها را می‌نویسیم:

مثال تبدیل باینری به هگزادسیمال

تبدیل مبنای شانزده به هشت و بالعکس

برای تبدیل مبنای شانزده به هشت، ابتدا آن را به دودویی تبدیل کرده، سپس سه‌تایی جدا کرده و به هشت تبدیل می‌کنیم:

مثال تبدیل هگزادسیمال به اوکتال

برای تبدیل هشت به شانزده، ابتدا آن را به دودویی تبدیل کرده، سپس چهار‌تایی جدا کرده و به شانزده تبدیل می‌کنیم:

مثال تبدیل اوکتال به هگزادسیمال

ماشین حساب باینری ویندوز

ماشین حساب عادی ویندوز که از طریق منوی Start میتوانید به آن دسترسی پیدا کنید با تایپ کردن Calculator، توانایی حساب کردن باینری را نیز دارد. مراحل زیر را ببینید:

بازی با حافظه

تفاوت Compiler و Interpreter


تیم تدریس‌یاران درس - © ۱۴۰۳