def binary_to_decimal(binary_str):
return int(binary_str, 2)
def octal_to_decimal(octal_str):
return int(octal_str, 8)
def decimal_to_decimal(decimal_str):
return int(decimal_str)
def hexadecimal_to_decimal(hex_str):
return int(hex_str, 16)
def decimal_to_ascii(decimal_value):
return chr(decimal_value) if 0 <= decimal_value <= 127 else "不可见字符"
def ascii_to_decimal(ascii_str):
return [ord(char) for char in ascii_str]
def main():
print("请选择输入类型 \n1、二进制\n2、八进制\n3、十进制\n4、十六进制\n5、ASCII\n=========")
type_input = int(input())
if type_input in [1, 2, 3, 4]:
value_input = input("请输入数值: ")
if type_input == 1:
decimal_value = binary_to_decimal(value_input)
print(f"二进制: {value_input}")
print(f"十进制: {decimal_value}")
print(f"八进制: {oct(decimal_value)[2:]}")
print(f"十六进制: {hex(decimal_value)[2:].upper()}")
print(f"ASCII: {decimal_to_ascii(decimal_value)}")
elif type_input == 2:
decimal_value = octal_to_decimal(value_input)
print(f"八进制: {value_input}")
print(f"十进制: {decimal_value}")
print(f"二进制: {bin(decimal_value)[2:]}")
print(f"十六进制: {hex(decimal_value)[2:].upper()}")
print(f"ASCII: {decimal_to_ascii(decimal_value)}")
elif type_input == 3:
decimal_value = decimal_to_decimal(value_input)
print(f"十进制: {value_input}")
print(f"二进制: {bin(decimal_value)[2:]}")
print(f"八进制: {oct(decimal_value)[2:]}")
print(f"十六进制: {hex(decimal_value)[2:].upper()}")
print(f"ASCII: {decimal_to_ascii(decimal_value)}")
elif type_input == 4:
decimal_value = hexadecimal_to_decimal(value_input)
print(f"十六进制: {value_input}")
print(f"十进制: {decimal_value}")
print(f"二进制: {bin(decimal_value)[2:]}")
print(f"八进制: {oct(decimal_value)[2:]}")
print(f"ASCII: {decimal_to_ascii(decimal_value)}")
elif type_input == 5:
value_input = input("请输入 ASCII 字符串: ")
decimal_values = ascii_to_decimal(value_input)
print(f"ASCII: {value_input}")
for decimal_value in decimal_values:
print(f"十进制: {decimal_value}")
print(f"二进制: {bin(decimal_value)[2:]}")
print(f"八进制: {oct(decimal_value)[2:]}")
print(f"十六进制: {hex(decimal_value)[2:].upper()}")
else:
print("输入类型无效,请输入 1、2、3、4 或 5。")
if __name__ == "__main__":
main()