请用python编写进制相互转换的具体实现代码
时间: 2024-02-03 07:03:41 浏览: 25
以下是将十进制转换为其他进制,以及将其他进制转换为十进制的 Python 代码实现:
```python
# 十进制转其他进制
def dec2base(num, base):
digits = "0123456789ABCDEF"
res = ""
while num > 0:
res = digits[num % base] + res
num //= base
return res
# 其他进制转十进制
def base2dec(num, base):
res = 0
for i in range(len(num)):
res += int(num[i]) * (base ** (len(num) - 1 - i))
return res
```
其中,`dec2base(num, base)` 函数将十进制数 `num` 转换为 `base` 进制数;`base2dec(num, base)` 函数将 `base` 进制数 `num` 转换为十进制数。在代码中,我们使用了一个 `digits` 字符串存储 0 到 15 的数码,其中 A~F 分别表示 10~15。
例如,将十进制数 10 转换为二进制:
```
>>> dec2base(10, 2)
'1010'
```
将十进制数 10 转换为八进制:
```
>>> dec2base(10, 8)
'12'
```
将十进制数 10 转换为十六进制:
```
>>> dec2base(10, 16)
'A'
```
将二进制数 1010 转换为十进制:
```
>>> base2dec('1010', 2)
10
```
将八进制数 12 转换为十进制:
```
>>> base2dec('12', 8)
10
```
将十六进制数 A 转换为十进制:
```
>>> base2dec('A', 16)
10
```