در این مطلب، تبدیل اعداد باینری مبنای 2 به دسیمال مبنای 10 به زبان برنامه نویسی پایتون شرح داده شده است. علاوه بر این توضیحات، سورس کد و فایل پروژه را در اختیار شما دوستان قرار دادیم.
سوال: برنامه ای بنویسید که عدد باینری 111 را دریافت کرده و تبدیل به دسیمال کند
جواب خروجی برابر است با 7 می باشد.
برای درک درست این برنامه باید تفاوت اعداد باینری و دسیمال رو متوجه بشید.
اعداد دسیمال که همون سیستم اعداد خودمون مثلا: 10 ، 34 و 656456
اعداد باینری یا دو دویی یک شیوه نمایش اعداد به صورت 0 و 1 که بهش نمایش اعداد در مبنای 2 هم می گویند.
برای مثال عدد 111 برابر عدد 7 است.
به جدول زیر نگاه کنید

محاسبه باینری
این شمارنده نشان می دهد که اعداد ۰ تا ۳۱ در مبنای ۲ چگونه نمایش داده می شوند.
روش محاسبه 111 به این صورت است که مقدار اول برابر با 1 و با مقدار دوم برابر یا 2 و مقدار سوم هم برابر با 4 می شه ، جمع این سه عدد برابر 7 می شود.
111 = [ ( 1 ) × 22 ] + [ ( 1 ) × 21 ] + [ ( 1 ) × 20 ] = 7
نکته: مقداری که صفر باشد، حساب نمی شود، چون ضرب آن برابر با صفر می باشد.
سورس کد تبدیل اعداد باینری به دسیمال:
number=0 bace=1 last=0 sums=0 number = int(input("Enter number: ")) while number: last = int(number%10) number = int(number/10) last *= bace sums += last bace = bace*2 print(sums)
امیدوارم متوجه شده باشید
دیدگاه و پرسش