输入十进制整数和欲转换的进制数r,将十进制转换为r进制数。(r>=2) 编程思想为:调用函数DToR,逐位求模。若该位为大于9的数,则以大写字母代表(提示:大写字母'A'的ASCII码值等于65);若该位为9以下的数,则转换为字符格式。从低位至高位连接字符串并返回结果。
时间: 2024-02-27 14:56:45 浏览: 13
好的,这是一个很常见的问题,可以使用 Python 编写一个 DToR 函数来实现:
```python
def DToR(num, r):
"""
将十进制整数 num 转换为 r 进制数
"""
if num == 0:
return '0'
res = ''
while num > 0:
mod = num % r
if mod > 9:
res = chr(mod - 10 + 65) + res
else:
res = str(mod) + res
num = num // r
return res
```
函数中先判断 num 是否为 0,如果是则直接返回字符串 '0'。然后进入 while 循环,每次取 num 除以 r 的余数 mod,并将其转换为对应的字符或字符串。将 mod 连接到 res 的前面,并将 num 更新为 num 除以 r 的商。循环结束后,返回 res 作为结果。
可以在 Python 命令行中测试一下:
```python
>>> DToR(101, 2)
'1100101'
>>> DToR(101, 8)
'155'
>>> DToR(101, 16)
'65'
```
这样就可以将十进制整数转换为指定进制的数了。