十进位制数转换二、八和十六进制数程序。要求: (1)编写一个函数实现十进制数转换其它进制数; (2) 在主函数中给十进制数和转换的进位制,输出转换结果。
时间: 2024-12-14 08:16:26 浏览: 7
在编程中,将十进制数转换成二进制、八进制或十六进制是一种常见的任务。这里我将以Python为例来说明如何编写这样的函数:
```python
def decimal_to_other_base(decimal_num, base):
# 定义转换函数,接受十进制数和目标进制作为参数
def convert(n, b):
if n == 0:
return '0'
digits = []
while n > 0:
digits.append(str(n % b))
n //= b
return ''.join(digits[::-16)
if not (base >= 2 and base <= 16):
raise ValueError("Base must be between 2 and 16")
# 转换函数的具体实现
binary = convert(decimal_num, 2)
octal = convert(decimal_num, 8)
hexadecimal = convert(decimal_num, 16)
# 返回每个进制的结果
return binary, octal, hexadecimal
# 主函数示例
def main():
decimal = int(input("请输入一个十进制数: "))
base_choice = input("请选择转换的目标进制(2-二进制,8-八进制,16-十六进制): ")
try:
base = int(base_choice)
result = decimal_to_other_base(decimal, base)
print(f"十进制 {decimal} 转换成 {base_choice} 进制为: {result[base_choice.lower()]}")
except ValueError as e:
print(e)
if __name__ == "__main__":
main()
```
在这个程序中,`decimal_to_other_base` 函数接收一个十进制数和一个目标进制,然后递归地将其转换到相应的形式。主函数 `main` 中用户会提供一个十进制数和选择的进制类型,然后调用这个函数并打印出转换后的结果。
阅读全文