本例是為了熟悉遞迴的使用,實現不同進製之間的轉換
結果僅供參考,因為16 進製的字母沒有完成
def
count
(num:
str, from_:
int, to:
int)
:"""
:params num: 待轉換的數字
:params from_: 原進製
:params to: 目標進製
return 轉換結果
"""s =
o_num =
sum(
[int
(i)* from_ ** n for n, i in
enumerate
(num[::
-1])
])print
("{}進製:{} --> 10進製:{}"
.format
(from_, num, o_num)
, end=
" --> "
)def
inner
(num)
: a, b =
divmod
(num, to)
if a ==0:
s.insert(
0, b)
return s
s.insert(
0, b)
return inner(a)
result =
"".join(
[str
(i)for i in inner(o_num)])
print
("{}進製: {}"
.format
(to, result)
)return result
>>
> count(
'14',8
,2)8進製:14-
->
10進製:12-
->
2進製:
1100
進製轉換(任意進製轉換)
a進製轉b進製 思想 a進製轉十進位制 十進位制轉b進製 a進製轉十進位制 include include includeusing namespace std const int p 16 p代表 a進製 int main cout 十進位制轉b進製 include includeusing na...
任意進製轉換
本文參考 google 資料結構 c語言 一 簡介 進行任意進製的轉換 二 重點 通過對輸入的數進行分解,然後根據相應的數進行轉碼 三 include include using namespace std n為進製,w為待轉換的值 void conver int n,int w while i 0...
任意進製轉換
輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2 r 16,r 10 output 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考16進製制 比如,10用a表示,等等 sample...