چطور از Binary به Decimal برسیم؟ آموزش و یادگیری چطور از Binary به Decimal برسیم؟ به صورت رایگان
تبدیل دودویی ↔ دهدهی
سلام!
تِرِد قبل گفتیم هر عدد، بسته به مبنایی که باهاش نوشته شده، از چند تا جایگاه تشکیل میشه.
در ده دهی، ارزش جایگاه ها این شکلیه:
در باینری هم همین ایده رو داریم، فقط ارزش هر جایگاه دو برابر قبلیه:
تبدیل باینری به ده دهی
حالا میخوایم از همین ایده استفاده کنیم تا یک عدد باینری رو به یه عدد ده دهی که هر روز داریم باهاش کار میکنیم تبدیل کنیم.
فرض کن با این عدد رو به رو شدیم:
اول از سمت راست، ارزش هر خونه رو زیرش مینویسیم:
| 1 | 1 | 0 | 1 |
| 8 | 4 | 2 | 1 |
حالا فقط باید ببینیم کدوم خونه ها «۱» دارن.
- هر جا رقم ۱ باشه، ارزش اون خونه رو بر میداریم.
- هر جا رقم ۰ باشه، اون خونه رو نادیده میگیریم(مثل بچه وسط خانواده😶).
تو این مثال، خانه های ۸، ۴ و ۱ فعال اند:
پس:
یعنی عدد باینری 1101، همان سیزده ای هستش که ما در سیستم ده دهی میشناسیم.
تا اینجا مسیر تبدیل از باینری به ده دهی واضح شد پس:
ارزش خانههایی که ۱ هستند را با هم جمع میکنیم.
تبدیل ده دهی به باینری (روش اول: توان های ۲)
حالا بر عکسش چی؟
اگر عدد ده دهی ۱۳ را داشته باشیم و بخواهیم آن را باینری بنویسیم، باید ببینیم از بین توان های ۲، کدوما با هم جمع میشن و عدد ۱۳ رو میسازن.
بزرگ ترین توان ۲ که از ۱۳ رد نمیشود، ۸ است:
حالا از ۵، بزرگ ترین توان ۲ که رد نمیشود ۴ است:
و در آخر هم ۱ باقی مانده:
پس:
حالا جایگاه های باینری را از ۸ تا ۱ مینویسیم:
- برای ۸، ۴ و ۱ عدد ۱ میگذاریم؛ چون از آن ها استفاده کردیم.
- برای ۲ عدد ۰ میگذاریم؛ چون لازممون نشد.
پس میرسیم به:
یعنی:
تبدیل ده دهی به باینری (روش دوم: تقسیم های پیاپی بر ۲)
یک راه دیگر هم برای تبدیل ده دهی به باینری وجود داره که مخصوصاً برای اعداد بزرگتر کاربردی تره: تقسیم های پیاپی بر ۲.
مثلاً باز هم عدد ۱۳ را داریم:
باقیماندهها را از پایین به بالا میخوانیم:
همان جواب قبلی.
خلاصه
فعلاً همینو بدونیم:
| مدل روش | روش انجام |
|---|---|
| روش اول | ارزش خانههای دارای ۱ را جمع میکنیم. |
| روش دوم | تقسیم بر ۲ و خواندن باقیماندهها از پایین به بالا |
در تِرِد بعدی میریم سراغ مبنای ۱۶؛ یعنی Hexadecimal.
همون چیزی که باعث میشه اعداد خیلی طولانی باینری، خواندنی تر بشن.
تو پوست خودت نمیگنجی نه؟!
با این داداشت همراه باش!!!