1. 进制

2. 二进制 八进制 十进制 十六进制

计算机只保存二进制0和1,同时支持八进制和十六进制

二进制(Bin) 八进制(Oct) 十六进制(Hex) 十进制(Dec) python中都能识别

0b 开头的数字是二进制 0-1 bin()

0o 开头的数字是八进制 0-7 oct()

0x 开头的数字是十六进制 0-9 A-F hex()

3. 进制转换

3.1. 二进制转八进制

3个为一组如开头不够3位则用0填充

101 010

各组3位数倒着各自乘以2的0到X次方 1-2-4-8-16-32-64

12的零次方+02的一次方+1*2的二次方=1+0+4=5

02的零次方+12的一次方+0*2的二次方=0+2+0=2

则42的八进制为 5 2

4. 二进制转十六进制

4位为一组开头不够4位则用0填充

各组4位数倒着各自乘以2的0到X次方

0010 1010

02的零次方+12的一次方+02的二次方+02的三次方=0+2+0+0=2

02的零次方+12的一次方+02的二次方+12的三次方=0+2+0+8=10=A

则42的十六进制为 2A

5. 二进制转十进制

不用分组,直接倒序各自乘以2X

101010

021+023+0*25=0+2+0+8+0+32=42

6. 十进制转二进制

将十进制的数除以要转换的进制数,二进制除以2,不断的除以2直到结果为0,除以结果的余数为转换符,最后倒序排列完成转换

42/2=21 余0

21/2=10 余1

10/2=5 余0

5/2=2 余1

2/2=1 余0

1/2=0 余1

再倒序排列则为 101010

7. bin、oct、hex内置函数

使用bin()函数可以将数字/十进制转变成二进制

使用oct()函数可以将数字/十进制转变成八进制

使用hex()函数可以将数字/十进制转变成十六进制