用Python实现进制转换的功能
时间: 2024-09-24 11:30:46 浏览: 40
python实现进制转换
在Python中,你可以使用内置的`int()`和`str()`函数来进行基础的数字进制转换。下面是两个常见的操作:
1. **将十进制转为其他进制**:
```python
decimal_num = 1234
base_8_num = oct(decimal_num) # 十进制转八进制
base_16_num = hex(decimal_num) # 十进制转十六进制
print(base_8_num, "is", base_16_num)
```
2. **将其他进制转为十进制**:
```python
binary_num = '1010'
decimal_num = int(binary_num, 2) # 二进制转十进制
```
对于更复杂的转换,比如将字符串表示的任意进制转换为十进制,可以先使用`str.isdigit()`检查字符是否有效,然后逐位累加。
```python
def custom_base_to_decimal(s, base):
total = 0
for char in s:
if not char.isdigit() or int(char) > base:
raise ValueError(f"Invalid character {char} in the given string.")
total *= base
total += int(char)
return total
input_str = "AB12"
base = 16
decimal = custom_base_to_decimal(input_str, base)
print(f"{input_str} in base {base} equals to {decimal}")
```
阅读全文