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

psychic

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

دسیمال : یعنی مبنای 10
باینری : یعنی مبنای 2
اکتان : یعنی مبنای 8
هگزا دسیمال : یعنی مبنای 16

وقتی ما از عددی مثل 225 صحبت می کنیم یعنی یک مقدار عددی هست که در مبنای 10 یعنی دسیمال نمایش داده میشه ، اما همین عدید رو اگر بخواهیم به صورت باینری ( مبنای 2 ) نمایش بدیم نتیجه میشه 11100001 به صورت اکتان میشه 341 و به صورت هگزا دسیمال ( مبنای 16 ) میشه E1 ولی همه این مدل نمایش ها در نهایت بیانگر یک عدد هستند که به صورت های مختلف نمایش داده شده اند
که تو حالت عادی ما و روزمره از اعداد در مبنای 10 استفاده می کنیم
ولی در کامپیوتر از مبنای 2 یعنی همون باینری استفاده میشه ، برای همین ما باید بتوانیم مبنای 10 را به 2 تبدیل کنیم

اما روش تبدیل :
روش تبدیل دسیمال به باینری : ( مبنای 10 به مبنای 2 )
فرض کنید می خواهم عدد 253 که دسیمال هست را به باینری تبدیل کنم
برای اینکار باید عدد 253 را به 2 تقسیم کنیم
بعد با قی مانده را نگه داریم و خارج قسمت را به 2 تقسیم کنیم
دوباره باقی مانده را نگه می داریم و خارج قسمت را به 2 تقسیم می کنیم ، این کار و ادامه میدهیم تا جایی که خارج قسمت 0 بشه
سپس باقيمانده‌ها را يادداشت می‌کنيم به اين صورت که اولين باقيمانده‌ را در سمت راست و آخرين باقيمانده‌ را در سمت چپ می‌نويسيم
که برای عدد 253 ای که ما داشتیم جواب برابر 11111101 می شود

حالا فرض کنید ما می خواهیم حاصل تبدیل ما از دسیمال به باینری یک عدد 8 رقمی باشه و لی جواب ما کمتر از 8 رقم بشه . مثلا فرش کنید شده 11101 یعنی 5 قم ، پس ما 3 رقم کم داریم ، برای همین به سمت چپ به تعدادی که لازم داریم 0 اضافه می کنیم . پس میشه 00011101

شما برای تمرین چند تا عدد رو به باینری تبدیل کنید ، برای مثال 132 و 80 رو به باینری تبدیل کنید


اما حالا تبدیل باینری به دسیمال : ( مبنای 2 به مبنای 10 )
فرض کنید حالا ما می خواهیم عدد باینری 11111101 را به دسیمال تبدیل کنیم ( عکس عمل قبلی )
برای اینکار میایم عدد اول از سمت راست یعنی 1 را در 1 ضرب می کنیم
1*1
بعد عدد دوم از سمت راست را که میشه 0 در 2 ضرب می کنیم
0*2
بعد عدد سوم از راست که میشه 1 را در 4 ضرب می کنیم ، عدد بعدی در 8 ، بعدی 16 و ...
و در انتها جواب همه ضرب ها رو با هم جمع می کنیم

</SPAN>
کد: انتخاب
1*1 + 0*2 + 1*4 + 1*8 + 1*16 + 1*32 + 1*64 + 1*128


که حاصل جمع میشه 253
کار تبدیل تمام شد !


- تبدیل دسیمال به مبنا های دیگر :
روش کار مثل بالا هست ، یعنی در مواقعی که یه طرف تبدیل دسیمال باشه روش همینه
برای تبدیل دسیمال ( مبنای 10 ) به مبنای دیگه ما باید بر اون عدد تقسیم کنیم و ....
و برای تبدیل هر مبنایی به 10 باید ضرب کنیم ....
که اعداد ضرب هم به همون نسبت هربار بزرگتر میشن


تبدیل دسیمال به هگزا دسیمال :
فرض کنید می خواهیم 225 که دسیمال هست رو به مبنای 16 یعنی هگزا دسیمال ببریم
برای اینکه می خواهیم یک مبنای 10 را تبدیل کنیم ، پس باید تقسیم کنیم

225 / 16 = باقی مانده = 1 خارج قسمت = 14
14 / 16 = باقس مانده = 14 خارج قسمت 0

خب حالا میبینیم که یکی از باقی مانده ها 2 رقمی شده ، یعنی بزرگتر از 9 هست
در این موارد که در هگزا دسیمال پیش میاد ما برای اعداد بین 10 تا 15 از حروف انگلیسی استفاده می کنیم
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15

اینجا هم از اونجایی که باقی مانده ما 14 هست ، به جای 14 ما حرف E رو می زاریم
که در نهایت جواب میشه : E1


دیگر تبدیل ها :
تبدیل مبنا های غیر 10 به غیر 10
مثلا تبدیل مبنای 8 به 16
برای هرکدوم روش خاص خودش وجود داره ! اما از اونجایی که به خاطر سپردن همه حالت ها سخت هست ، ما از روش ساده تر استفاده می کنیم
برای مثال وقتی می خواهیم مبنای 8 را به مبنای 16 تبدیل کنیم ، اول مبنای 8 را به مبنای 10 تبدیل می کنیم و بعد مبنای 10 ای که بدست آوردیم را به مبنای 16 که میشه هگزا دسیمال تبدیل می کنیم

سعی کردم کامل توضیح بدم ، اگه چند تا مثال برای خودتون انجام بدین و حالت های مختلف رو کار کنید براتون کاملا جا میافته

بازم اگر سوالی بود بپرسین ...

راستی همه اینایی که گفتم رو می توانید با "ماشین حساب" ویندوز انجام بدین ;)

 
بالا