进制转换器:轻松转换所有进制

老A 基金 1

为了创建一个进制转换器,我们需要编写一个程序,它可以接受一个数字和一个进制的基数,然后将该数字从其原始进制转换为十进制,再从十进制转换到目标进制。以下是一个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