提到进制转换这里需要了解int()这个内置函数,大多数人都会这样用:
int(x)
其目的一般是将x字符串转化为整数,int()除了这个作用外,还可以将其他进制数转化为十进制数,Python内置函数官方文档
从官方文档中我们可以得知内置函数: int(x,base=10)
第二个参数默认base = 10,页就是我们常用的字符串转换为十进制整数,由此,我们改变第二个参数可以将其他进制的数转换为十进制数:
print(int('0101',2))#二进制转换为十进制
print(int('27',8))#八进制转换为十进制
print(int('A0',16))#十六进制转换为十进制
5
23
160
将十进制转换为二进制、八进制、十六进制,使用内置函数:bin()、oct()、hex()
b = bin(17)#十进制转换为二进制
o = oct(17)#十进制转换为八进制
h = hex(17)#十进制转换为十六进制
print(b,type(b))
print(o,type(o))
print(h,type(h))
0b10001 <class 'str'>
0o21 <class 'str'>
0x11 <class 'str'>
注:bin()、oct()、hex()的返回值都是字符串,而且分别带有0b、0o、0x前缀。
进制转换汇总表 |
---|
二进制 | 八进制 | 十进制 | 十六进制 | |
---|---|---|---|---|
二进制转换为 | x | oct(int(x,2)) | int(x,2) | hex(int(x,2)) |
八进制转换为 | bin(int(x,8)) | x | int(x,8) | hex(int(x,8)) |
十进制转换为 | bin(int(x)) | oct(int(x)) | x | hex(int(x)) |
十六进制转换为 | bin(int(x,16)) | oct(int(x,16)) | int(x,16) | x |
注:x 必须是字符串