متن برنامه تبدیل عدد مبنای شانزده به مبنای ده پایتون پیتون ـ p35

تبدیل عدد پایه شانزده به ده‌دهی

در تبدیل اعداد در پایه بیش از ده کافیست از یک الگوریتم ساده پیروی کنیم ، فرض کنید میخواهیم عدد ۷۶۳۲ در مبنای یازده را به پایه ده ببریم ׃

۲ × ۱۱ به توان صفر +

۳ × ۱۱ به توان یک +

۶ × ۱۱ به توان سه +

۷ × ۱۱ به توان چهار +

و حاصل جمع محاسبات عدد مورد نظر در مبنای ده خواهد شد ܂

نکته مهم در تبدیل اعداد مبنای بالاتر از ده به مبنای ده استفاده از حروف به جای عدد است مثلا حرف

a

در مبنای شانزده معادل عدد ده است به صورت کلی در پایه شانزده اعداد از صفر تا پانزده به این شکل هستند ׃

ـ 0 ـ 1 ـ 2 ـ 3 ـ 4 ـ 5 ـ 6 ـ 7 ـ 8 ـ 9 ـ A ـ B ـ C ـ D ـ E ـ F ـ

ـ 0 ـ 1 ـ 2 ـ 3 ـ 4 ـ 5 ـ 6 ـ 7 ـ 8 ـ 9 ـ 10 ـ 11 ـ 12 ـ 13 ـ 14 ـ 15 ـ

تبدیل پایه ۱۶ נ هگزادسیمال ׆ به پایه ده נ دسیمال ׆ داخل یک مثال در تصویر زیر نشان داده شده است ׃

تبدیل هگزا به دسیمال

عدد مبنای ۱۶ اگر منفی باشد کافیست منفی اول عدد را برداریم و در انتها به خودش اضافه کنیم اگر مثبت باشد روال عادی اعمال می‌شود ، رشته برعکس می‌شود یک متغییر توان را نگهداری می‌کند و در حلقه فور که به تعداد کاراکترهای عدد تکرار می‌شود هر بار با یک جمع می‌شود ܂

try

اگر کاراکتر انتخاب شده عدد بود محاسبه ضرب انجام می‌شود و نتیجه ذخیره می‌شود و اگر کاراکتر عدد نباشد به جای خروجی خطا برنامه خط های زیر را اجرا می‌کند ׃

except

تبدیل حروف به عدد و سپس انجام اعمال ضرب و جمع ܂ ܂ ܂

به کد پایتون زیر توجه کنید ׃

convert hexadecimal to decimal number python :