为了创建一个进制转换器,我们需要编写一个程序,它可以接受一个数字和一个进制的基数,然后将该数字从其原始进制转换为十进制,再从十进制转换到目标进制。以下是一个Python程序,它可以实现这一功能:
```python
def convert_to_decimal(number, base):
try:
decimal_number = int(str(number), base)
return decimal_number
except ValueError:
return "Invalid input for the given base."
def convert_from_decimal(number, base):
try:
if not (2 <= base <= 36):
return "Base must be between 2 and 36."
if number < 0:
return "Negative numbers are not supported."
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
if number == 0:
return "0"
converted_number = ""
while number > 0:
remainder = number % base
converted_number = digits[remainder] + converted_number
number //= base
return converted_number
except Exception as e:
return str(e)
def main():
number = input("Enter the number to convert: ")
base_from = int(input("Enter the base of the number: "))
base_to = int(input("Enter the base to convert to: "))
decimal_number = convert_to_decimal(number, base_from)
if isinstance(decimal_number, str) and decimal_number.startswith("Invalid"):
print(decimal_number)
return
converted_number = convert_from_decimal(decimal_number, base_to)
if isinstance(converted_number, str) and converted_number.startswith("Invalid"):
print(converted_number)
return
print(f"The number {number