用Python5.数制转换 。输入一个十进制数,分别转换为二进制、八进制和十六进制输出。 分别输入二进制、八进制、十六进制的数,然后分别转换为十进制整数输出。
时间: 2024-12-23 14:16:32 浏览: 86
在Python中,可以使用内置函数来进行数值之间的转换。以下是实现数制转换的基本步骤:
**将十进制转换为其他进制:**
```python
def decimal_to_other_bases(decimal_num):
# 转换为二进制
binary = bin(decimal_num)[2:]
# 转换为八进制
octal = oct(decimal_num)[2:]
# 转换为十六进制
hexadecimal = hex(decimal_num)[2:]
print(f"Decimal {decimal_num} in binary is {binary}")
print(f"Decimal {decimal_num} in octal is {octal}")
print(f"Decimal {decimal_num} in hexadecimal is {hexadecimal}")
# 示例
decimal_num = int(input("Enter a decimal number: "))
decimal_to_other_bases(decimal_num)
```
**将非十进制转换为十进制:**
```python
def other_bases_to_decimal(binary_string, octal_string, hex_string):
# 输入字符串补足到4位,以适应所有情况
binary = '0' * (4 - len(binary_string)) + binary_string
octal = '0' * (3 - len(octal_string)) + octal_string
hex_string = hex_string.upper() # 十六进制默认大写
# 转换为十进制
decimal_binary = int(binary, 2)
decimal_octal = int(octal, 8)
decimal_hexadecimal = int(hex_string, 16)
print(f"{binary_string} (binary) equals {decimal_binary} (decimal)")
print(f"{octal_string} (octal) equals {decimal_octal} (decimal)")
print(f"{hex_string} (hexadecimal) equals {decimal_hexadecimal} (decimal)")
# 示例
binary_input = input("Enter a binary number (e.g., 1010): ")
octal_input = input("Enter an octal number (e.g., 12): ")
hex_input = input("Enter a hexadecimal number (e.g., A): ")
other_bases_to_decimal(binary_input, octal_input, hex_input)
```
在这个例子中,用户需要按照提示输入相应格式的数。记得,对于二进制和八进制,我们通常在前面添加零以达到指定的位数。对于十六进制,输入的大写字母会被视为有效的字符。
阅读全文
相关推荐


















