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

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

با صرف فقط 1 ساعت، با دنیایی از اطلاعات در مورد اعداد باینری منفی، مثبت و اعشاری آشنا خواهید شد و

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

اعداد باینری در دنیای دیجیتال

در فیلم بالا با مفهوم 0 و 1 ها و اینکه این 0 و 1 ها در واقع ولتاژ های 0 ولت و 5 ولت هستند، آشنا شدیم.

انواع اعداد باینری را دیدیم و حالا می خواهیم که به طور کاملتر به تبدیل مبناها بپردازیم.

تبدیل مبنا اعداد صحیح

در اولین گام، بررسی می کنیم که چگونه یک عدد در مبنا 10 (دسیمال) را به یک مبنای دلخواه ببریم:

  • در اولین مرحله، عدد مان را به مبنای مورد نظر تقسیم می کنیم.
  • سپس در هر مرحله خارج قسمت را بر مبنا دلخواهمان تقسیم می کنیم تا خارج قسمت مان کمتر از مبنای دلخواه مان باشد.
  • سپس آخرین خارج قسمت و باقی مانده های هر مرحله (از آخر به اول) را به ترتیب در کنار هم می نویسم.
  • عدد بدست آمده، عدد مورد نظر ما در مبنای جدید است.

وقتی صحبت از اعداد باینری می شود، منظورمان اعداد در مبنای 2 است.

می خواهیم تمامی گام های فوق را برای تبدیل اعداد مبنای 10 به مبنای 2 انجام دهیم:

این کار را برای عدد 41 در تصویر زیر انجام داده ایم
شما هم این کار را انجام دهید.

تبدیل مبنا

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

تبدیل مبنا اعداد اعشاری‎

حالا اگر اعدادمان اعشاری بود، چه باید بکنیم؟

مثلا اگر عددمان 41/75 باشد
مبنای 2 آن را چگونه محاسبه می کنید؟

  • قسمت صحیح عدد را به همان صورت قبلی به مبنای 2 می آوریم.
  • قسمت اعشاری را با ضرب های متوالی به مبنای 2 می آوریم (به صورت زیر)
  • تا جایی که قسمت اعشاری عددمان 0 بشود!

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

  • قسمت اعشاری ممکن است، هیچ موقع به صفر نرسد
    (مثلا برای 0.32 این اتفاق رخ می دهد و هرگز به صفر نمی رسد)

میان بر برای تبدیل مبنای اعداد

در این مرحله می خواهیم، میان بری برای تبدیل به مبنای دلخواهمان پیدا کنیم.

اگر به ارزش مکانی ارقام دقت کنید، می توانید تبدیل مبنا ها را سریع تر و دقیق تر انجام دهید.

اعداد دسیمال

حالا اگر بخواهیم عدد 41.75 را  با توجه به ارزش های مکانی در سیستم دودویی بنویسیم،
یا به عبارت بهتر به اعداد باینری تبدیل کنیم.

اعداد باینری ها

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

ابتدا خودتان سعی کنید که به روش میان بر، مقدار دودویی عدد 41.75 را بدست بیاورید

(قرار است که عدد 0 و 1 را طوری زیر ارزش های مکانی دودویی بگذاریم که مجموع آنها با توجه به ارزش شان، 41.75 شود!)

  • نزدیک ترین عدد کوچکتر از 41، عدد 32 است(1)
  • مشخصا، 32+16>41 می شود! (0)
  • اما 40=32+8<41 است و در ارزش مکانی 8، از رقم 1 استفاده می کنیم(1)
  • سپس 40+4>41 است (0)
  • و 40+2>41 است و همان رقم 0 را برای ارزش مکانی 2 در نظر می گیریم (0)
  • و در انتها 40+1=41 و تمام  (1)
  • ارقام فوق را به ترتیب وارد می کنیم

برای قسمت اعشاری هم داریم:

  • 1/2>0.75 است (1)
  • همچنین 1/2+1/4=0.75 است و برای این ارزش مکانی هم رقم 1 را در نظر می گیریم و تمام  (1)

تبدیل مبنا اعداد باینری

خیلی ساده مشاهده کردید که رقم 41.75 را با سرعت بیشتری به سیستم دودویی تبدیل کردیم (101001.11)

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

تبدیل و جمع و تفریق اعداد باینری با ماشین حساب

همین الان دکمه پنجره کیبرد خود را بزنید و در قسمت جستجو calculator را تایپ کنید:

ماشین حساب

در تگ view، گزینه programmer را انتخاب کنید.

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

در نماتک نظر دهید

مقاله بالا بخشی از بسته جامع PLC-Pro است.

برای مشاهده کامل این بسته کلیک کنید.

مشاهده بسته PLC-Pro
بسته جامع آموزش اتوماسیون صنعتی