تبدیل مبنای عدد در پایتون
سوال
یک برنامه بنویسید که از کاربر یک عدد بر مبنای ۱۰ به عنوان ورودی دریافت کند و آن عدد را یک بار به عدد بر مبنای ۲ و همان عدد ورودی را بر مبنای ۱۶ تبدیل کند.
در حال بررسی
0
انجمن برنامه نویسان پایتون
2 سال
2 پاسخ ها
876 دیده شده
1
پاسخ ها ( ۲ )
سلام و درود.
عددمون در مبنای ده رو توی متغیر اینتجر a میگیریم. چون الگوریتم ما دو مرحله هست، a را در b ذخیره می کنیم.
می تونید یک دیکشنری تعریف کنید که اعداد ۱۰ تا ۱۵ رو به a تا f نظیر کنه.
Dic1 = {0:’0′ , 1:’1′ , 2:’2′ , 3:’3′ , 4:’4′ , 5:’5′ , 6:’6′ , 7:’7′ , 8:’8′ , 9:’9′ , 10:’a’ , 11:’b’ , 12:’c’ , 13:’d’ , 14:’e’ , 15:’f’}
برای مبنای دو، هیچ مشکلی نداریم. رشته متنی c خالی رو تعریف می کنیم.
C=””
حالا یک حلقه وایل باز می کنیم:
While a>1 :
C += a%2
a/=2
C += a
print(C[::-1])
بخش اول به اتمام رسید. برای بخش دوم، به جای a از b استفاده می کنیم.
C=”n”
While b>15 :
C+= Dic1[b%16]
b/=16
C += Dict1[b]
Print(C[::-1])