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))

-