●•٠سروده های استادشهریار٠•●

●•٠سروده های استادشهریار٠•●

شهریارا تو به شمشیر قلم در همه آفاق - به خدا ملک دلی نیست که تسخیر نکردی *"به شعرت شهریارا بیدلان تا عشق میورزند ... نسیم وصل را ماند نوید طبع دیوانت"
●•٠سروده های استادشهریار٠•●

●•٠سروده های استادشهریار٠•●

شهریارا تو به شمشیر قلم در همه آفاق - به خدا ملک دلی نیست که تسخیر نکردی *"به شعرت شهریارا بیدلان تا عشق میورزند ... نسیم وصل را ماند نوید طبع دیوانت"

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

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

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

 


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

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

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

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

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

کاری که ما در اینجا انجام می دهیم این است که به عدد خود دقت می کنیم و بزرگترین مبنایی که این عدد می تواند آن را تکمیل کند را پیدا می کنید . عدد ما 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 تبدیل گردید . 
این همه جون کندیم که یک عدد را تبدیل کنید . به عنوان یک مدیر شبکه بایستی این مفهوم را بدانید و بتوانید این اعداد را به یکدیگر تبدیل کنید ولی دلیل بر استفاده از این روش نیست . شما مطابق شکل زیر به راحتی می توانید این کار را با ماشین حساب ویندوز انجام دهید .

 

 

منبعhttp://itforall.blogsky.com :