這是python實現十進位制轉換二進位制的高階版:
步驟與轉化為二進位制相似:
1、十進位制除整數
2、餘數壓棧
3、順序出棧
# 十進位制轉其他進製
defbaseconverter
(number, base)
: digits =
'0123456789abcdef'
srem =
# 1 2兩步 除整數,餘數壓棧
while number >0:
rem = number % base
number = number // base
newstring =
''# 第3步 順序出棧
while
len(srem)
>0:
newstring = newstring + digits[srem.pop()]
print
(newstring)
baseconverter(
233,
16)
注意:
1、十進位制整除整數:與轉化二進位制不同的是,函式接受兩個引數,乙個是待轉化的十進位制整數,乙個是希望轉換的進製數
2、餘數壓棧:設定乙個digits字串,儲存』0123456789abcdef』,字母來表示超過9的餘數,將得到的餘數壓棧
3、順序出棧:出棧時不同,這裡用srem.pop()當做digits的下標。newstring = newstring +digits[srem.pop()]二進位制簡易版是直接將出棧的結果轉化為字串
十進位制的轉換
include int main void int convertednumber 64 long int numbertoconvert int nextdigit,base,index 0 get the number and the base printf number to be conve...
python 十進位制轉換十六進
編輯 python 呼叫python內建int 函式把該字串轉為數字。以下為在python直譯器程式設計環境下的操作示範 把十六進製制的字串轉為十進位制數字 print int ff 16 255把十進位制數字轉換為以十六進製制表示之字串,可呼叫內建的hex 函式 print hex 255 0xf...
利用順序棧(基於陣列)實現十進位制轉換輸出其他進製數
題目 利用順序棧實現將任意10進製數轉換成對應的二進位制,八進位制,16進製制輸出 思路 利用短除法的原理以及棧先進後出的特點,先構建好乙個順序棧,這裡我用的是陣列,把每一次整除的餘數壓進棧裡,然後再把棧裡的資料依次取出,輸出的便是對應進製的結果,需要注意的是十六進製制比較特殊 得判斷輸出字母的情況...