python写一个进制转换代码
时间: 2024-02-02 15:03:27 浏览: 70
以下是一个将十进制数转换为其他进制的 Python 代码示例:
```python
def decimal_to_base(decimal_num, base):
"""
将十进制数转换为其他进制数
:param decimal_num: 十进制数
:param base: 要转换的进制数
:return: 转换后的进制数
"""
if decimal_num == 0:
return '0'
elif decimal_num < 0:
return '-' + decimal_to_base(abs(decimal_num), base)
else:
digits = '0123456789ABCDEF'
result = ''
while decimal_num > 0:
remainder = decimal_num % base
result = digits[remainder] + result
decimal_num //= base
return result
```
这个函数接受两个参数:十进制数和要转换的进制数。它将返回转换后的进制数。例如,要将十进制数 42 转换为二进制,可以这样调用函数:`decimal_to_base(42, 2)`。
以下是将其他进制数转换为十进制的 Python 代码示例:
```python
def base_to_decimal(num, base):
"""
将其他进制数转换为十进制数
:param num: 其他进制数
:param base: 其他进制数的进制数
:return: 转换后的十进制数
"""
if base < 2 or base > 36:
return 'Invalid base'
else:
result = 0
power = 0
digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for digit in reversed(num):
if digit not in digits:
return 'Invalid digit'
else:
digit_value = digits.index(digit)
result += digit_value * (base ** power)
power += 1
return result
```
这个函数接受两个参数:其他进制数和该进制数。它将返回转换后的十进制数。例如,要将二进制数 101010 转换为十进制,可以这样调用函数:`base_to_decimal('101010', 2)`。
阅读全文