帮我输出一个数制转换程序
时间: 2024-02-16 17:02:50 浏览: 79
数制转换程序
好的,以下是一个简单的 Python 代码示例,可以将十进制数转换为二进制、八进制和十六进制:
```python
# 定义一个函数,用于将十进制数转换为其他数制
def decimal_to_other(num, base):
# 用于存储转换后的结果
result = ''
# 定义一个字典,用于将十进制数转换为十六进制中的字母
hex_dict = {10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F'}
# 当输入的十进制数为0时,直接返回0
if num == 0:
return '0'
# 当输入的进制数为10时,直接返回输入的十进制数本身
if base == 10:
return str(num)
# 如果输入的进制数不是2、8、16中的任何一个,返回错误提示
if base not in [2, 8, 16]:
return 'Error: base must be 2, 8 or 16'
# 如果输入的进制数是16,使用hex()函数转换为十六进制,否则使用divmod()函数进行转换
while num > 0:
if base == 16:
remainder = num % base
if remainder >= 10:
remainder = hex_dict[remainder]
result = str(remainder) + result
else:
num, remainder = divmod(num, base)
result = str(remainder) + result
return result
# 测试代码
num = int(input('请输入一个十进制数:'))
print('二进制数为:', decimal_to_other(num, 2))
print('八进制数为:', decimal_to_other(num, 8))
print('十六进制数为:', decimal_to_other(num, 16))
```
您可以将以上代码保存为一个.py文件,然后在命令行中运行,根据提示输入需要转换的十进制数和目标数制即可。
阅读全文