1. Python进制转换基础与应用场景
在编程实践中,进制转换是每个开发者都会遇到的基础操作。Python作为一门功能强大的编程语言,提供了多种内置方法来实现不同进制之间的转换。无论是处理网络协议、硬件通信还是加密算法,进制转换都扮演着重要角色。
以金融领域为例,交易系统经常需要处理十六进制的时间戳;在物联网开发中,设备传回的传感器数据可能是二进制格式;而日常开发调试时,我们常需要在不同进制间切换查看变量的真实值。掌握Python的进制转换技巧,能让你在这些场景下游刃有余。
2. 内置函数实现进制转换
2.1 十进制转其他进制
Python内置的bin()、oct()和hex()函数可以快速将十进制整数转换为其他进制表示的字符串:
python复制num = 255
print(bin(num)) # 输出: '0b11111111'
print(oct(num)) # 输出: '0o377'
print(hex(num)) # 输出: '0xff'
注意:这些函数返回的是带有前缀的字符串(0b、0o、0x),不是纯数值。如果要去除前缀,可以使用切片操作:[2:]
2.2 其他进制转十进制
int()函数是进制转换的瑞士军刀,它可以将各种进制的字符串转换为十进制整数:
python复制print(int('1010', 2)) # 二进制转十进制 → 10
print(int('12', 8)) # 八进制转十进制 → 10
print(int('A', 16)) # 十六进制转十进制 → 10
print(int('0xff', 16)) # 带前缀的十六进制 → 255
关键点在于第二个参数base,它指定了输入字符串的进制基数。这个参数支持2-36的范围,意味着你甚至可以处理三十六进制以内的任意进制转换。
3. 进阶转换技巧
3.1 任意进制间转换
虽然Python没有直接提供任意进制间转换的函数,但我们可以通过十进制作为中介实现:
python复制def base_convert(num, from_base, to_base):
if isinstance(num, str):
decima
