دسیمال به باینری و باینری به دسیمال (درس ۵-۱۱)

اختصاصی نشریه اینترنتی نوجوان ها

خوب حالا با توجه به این مفاهیمی که گفتیم روی کاغذ شروع به تبدیل باینری و دسیمال به یکدیگر می کنیم.

ابتدا تبدیل باینری به دسیمال

فرض کنید عدد 10101010 را که یک عدد باینری است و فقط از 0 و 1 تبدیل شده است را می خواهیم به یک عدد دسیمال که از اعداد 0-9 تشکیل شده است تبدیل کنیم. برای این کار مطابق زیر اعداد حاصل از مبناهای باینری را تا جایی که نیاز داریم می نویسیم. در اینجا عدد باینری ما هشت رقمی است پس تا 27 که 128 می شود را می نویسیم و سپس اعداد 0 و 1 باینری را به ترتیب زیر مبنای آن قرار می دهیم: عدد ما 10101010 بود پس به صورت زیر می شود:

شبکه (3)

حال عدد باینری را در ستون مربوط ضرب می کنیم و کل اعداد به دست آمده را با هم جمع می کنیم مثلا 1 را در 128 ضرب می کنیم که می شود همان 128 و 0 را در 64 ضرب می کنیم که می شود همان صفر و … نتیجه به صورت زیر می شود که اعداد به دست آمده را با هم جمع می کنیم:  128 + 32 + 8 + 2  =  170

 پس معادل دسیمال عدد باینری 10101010 می شود  170

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

تبدیل دسیمال به باینری کمی پیچیده تر است و نیاز به دقت بیش تری دارد. 

ما می خواهیم عدد 3482 را که یک عدد دسیمال است به باینری یا  0 و 1 تبدیل کنیم. برای این کار همان طور که در زیر می بینید حاصل مبناها را تا توان 12 می نویسیم. چرا تا توان دوازده؟ چون عدد ما 3482 است و اگر عدد ما 28 بود فقط تا توان 5 که 32 بود را می نوشتیم. 

شبکه (2)

کاری که ما در اینجا انجام می دهیم این است که به عدد خود دقت می کنیم و بزرگ ترین مبنایی که این عدد می تواند آن را تکمیل کند را پیدا می کنیم. عدد ما 3482 است آیا این عدد می تواند مبنای 12 یا 4096 را پر کند؟ خیر. آیا می تواند مبنای 11 یا 2048 را پر کند؟ بله ؛ پس کاری که ما می کنیم این است که در زیر 2048 عدد 1 را قرار داد و سپس 2048 را از 3482 کم می کنیم.

1434 = 3482 – 2048

در مرحله بعدی حاصل به دست آمده را که عدد 1434 است را دوباره با مبناهای بالا مقایسه کرده و بزرگ ترین مبنایی را که می تواند پر کند را پیدا می کنیم که می شود مبنای 10 یا 1024.
در زیر 1024 عدد یک را قرار داده و آن را از 1434 کم می کنیم:
410 = 1024 – 1434
حاصل می شود 410 دوباره 410 می تواند مبنای 9 یا 512 را پر کند؟ خیر. این بار به جای 1 در زیر 512 عدد صفر را قرار می دهیم. (در هر بخشی که عدد ما نمی تواند آن مبنا را پر کند در زیر مبنا عدد صفر را قرار داده و به مبنای بعدی رجوع می کنیم) 
410 می تواند مبنای 8 یا 256 را پر کند؟ بله؛ در زیر 256 عدد 1 را قرار داده و آن را از 410 کم می کنیم. 
154 = 256 – 410
حاصل می شود 154، آیا 154 می تواند مبنای 7 یا 128 را پر کند؟ بله، در زیر 128 عدد 1 را قرار داده و آن را از 154 کم می کنیم.
26 = 128 – 154
حاصل می شود 26، آیا 26 می تواند مبنای 6 یا 64 را پر کند؟ خیر، در زیر 64 عدد صفر را قرار داده آیا 26 می تواند مبنای 5 یا 32 را پر کند؟ خیر در زیر 32 هم صفر قرار می دهیم. 
آیا 26 می تواند مبنای 4 یا 16 را پر کند؟ بله در زیر 16 عدد 1 را قرار داده و آن را از 26 کم می کنیم.
10 = 16 – 26
حاصل می شود 10 آیا 10 می تواند مبنای 3 یا 8 را پر کند؟ بله در زیر 8 نیز عدد 1 را قرار می دهیم و از هم کم می کنیم. حاصل می شود 2، آیا 2 می تواند مبنای 2 را پر کند؟ خیر در زیر 4 نیز عدد صفر را قرار می دهیم. آیا 4 می تواند مبنای 1 را پر کند؟ بله عدد 1 را در زیر عدد 2 قرار داده و از هم کسر می کنیم. حاصل می شود صفر پس زیر مبنای صفر یا 1 نیز صفر را قرار می دهیم.

پس عدد 3482 که یک عدد دسیمال است به عدد باینری 110110011010 تبدیل گردید. 
این همه جون کندیم که یک عدد را تبدیل کنیم. به عنوان یک مدیر شبکه بایستی این مفهوم را بدانید و بتوانید این اعداد را به یکدیگر تبدیل کنید ولی دلیل بر استفاده از این روش نیست. شما مطابق شکل زیر به راحتی می توانید این کار را با ماشین حساب ویندوز انجام دهید.

شبکه (1)

 

نوشته: مهدی فاریابی

امتیاز به این نوشته
مقاله رو دوست داشتی؟
ارسال نظر
نظرت چیه؟
لینک کوتاه این مطلب

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تبلیغات
جدیدترین‌ها
تبلیغات
محبوب‌ترین‌ها
پیشنهاد نوجوان‌ها