1、内置函数转换bin,oct,int,hex
Python中存在内置函数:bin()、oct()、int()、hex()可实现进制转换。
1.1 10进制到2,8,16进制字符串
对于最常见到的十进制数,可以利用内置函数快速转换到对应的二进制、八进制、十六进制字符串。基本操作如下:
调用 | 返回 | 说明 |
bin(8) | ‘0b1000’ | 十进制8转换为二进制('0b’是二进制前缀) |
oct(15) | ‘0o17’ | 十进制15转换为八进制('0o’是八进制前缀) |
hex(90) | ‘0x5a’ | 十进制90转换为十六进制('0x’是十六进制前缀) |
其中,0b,0o,0x分别是二进制、八进制、十六进制前缀,赋值时python会自动识别
a = 0b1001 # 2进制输入
b = 0o13567 # 8进制输入
c = 0xA34 # 16进制输入
d = 100 # 默认是10进制
a, b, c, d
输出:
(9, 6007, 2612, 100)
1.2 2,8,16进制字符串到10进制整数
采用int函数将其他进制字符串转换为10进制整数,基本调用格式为:
int(string,原字符串进制默认10)
调用 | 返回 | 说明 |
int(‘10’)或int(‘10’,10) | 10 | 字符串转为10进制整数 |
int(‘0b1001’,2) | 9 | 2进制字符串转换为10进制(不带前缀0b也可,但2绝不能省略,下同) |
int(‘0o13567’,8) | 6007 | 8进制字符串转换为10进制 |
int(‘0xA34’,16) | 2612 | 16进制字符串转换为10进制 |
1.3 各进制互转
通过bin,oct,int,hex四个内置函数的组合可以实现各进制的互转,其中x是列所对应进制的字符串
↓ | 2进制 | 8进制 | 10进制 | 16进制 |
2进制 | - | bin(int(x, 8)) | bin(int(x, 10)) | bin(int(x, 16)) |
8进制 | oct(int(x, 2)) | - | oct(int(x, 10)) | oct(int(x, 16)) |
10进制 | int(x, 2) | int(x, 8) | - | int(x, 16) |
16进制 | hex(int(x, 2)) | hex(int(x, 8)) | hex(int(x, 10)) | - |