擅长:python、mysql、java
<p>可以使用单个递归函数完成,如下所示:</p>
<ul>
<li>作为函数参数的base</li>
<li>默认数字作为参数,用于覆盖不同基数的不同数字</li>
</ul>
<p><strong>代码</strong></p>
<pre><code>def convert(n, base, digits = "0123456789ABCDEF"):
' Function to convert decimal number binary another base '
if n >= base:
return convert(n//base, base) + digits[n%base]
else:
return digits[n]
</code></pre>
<p><strong>测试</strong></p>
<pre><code>n = 10 # Decimal number
for base in [2, 8, 16]: # Bases
print(f'Decimal {n} to base {base} = {convert(n, base)}')
</code></pre>
<p><strong>输出</strong></p>
<pre><code>Decimal 10 to base 2 = 1010
Decimal 10 to base 8 = 12
Decimal 10 to base 16 = A
</code></pre>