python中的进制转换
时间: 2024-09-13 08:05:32 浏览: 46
radix(python中进制转换)
Python中的进制转换涉及到将一种数制的数转换为另一种数制。Python内置了多个函数和方法来支持不同的进制转换。
1. 十进制转换为其他进制:可以使用内置的`hex()`, `oct()`, `bin()`函数来将十进制数分别转换为十六进制、八进制和二进制。这些函数返回的是一个字符串形式的转换结果,并且十六进制的字符串前缀为`0x`,八进制的字符串前缀为`0o`,二进制的字符串前缀为`0b`。
2. 其他进制转换为十进制:可以使用内置的`int()`函数,通过指定基数(base)来实现。`int()`函数接受两个参数:第一个是数字字符串,第二个是基数。例如,将十六进制的字符串转换为十进制,基数就是16。
3. 其他进制之间的转换:通常需要先将一个数转换为十进制,然后再从十进制转换为目标进制。即先用`int()`函数转为十进制,再用`hex()`, `oct()`, `bin()`函数或者格式化字符串的方式转为目标进制。
下面是一些代码示例:
```python
# 十进制转为其他进制
decimal_number = 255
hex_number = hex(decimal_number) # 十进制转为十六进制
oct_number = oct(decimal_number) # 十进制转为八进制
bin_number = bin(decimal_number) # 十进制转为二进制
print(hex_number) # 输出: '0xff'
print(oct_number) # 输出: '0o377'
print(bin_number) # 输出: '0b11111111'
# 其他进制转为十进制
hex_str = '1A3'
decimal_from_hex = int(hex_str, 16) # 十六进制转为十进制
print(decimal_from_hex) # 输出: 419
# 其他进制之间的转换,先转为十进制再转为其他进制
binary_str = '11010111'
decimal_from_bin = int(binary_str, 2) # 二进制转为十进制
hex_from_bin = hex(decimal_from_bin) # 再转为十六进制
print(decimal_from_bin) # 输出: 215
print(hex_from_bin) # 输出: '0xd7'
```
阅读全文