Python进制转换

Python中实现的进制间的转换

在python中可以使用Python的内置函数进行进制间的转换。
bin():其他进制转二进制
oct():其他进制转八进制
int():其他进制转十进制
hex():其他进制转十六进制

二进制、八进制、十六进制的形式

  • 二进制:以“0b”开头,如:0b111为十进制的7
  • 八进制:以“0”开头,如:026为十进制的22
  • 十六进制:以“0x”开头,如:0x1f为十进制的31

二进制、八进制、十六进制对照表

对照表

二进制、八进制、十六进制转十进制

使用int()函数,第一个参数是要转换的数字,类型为字符串,第二个参数是该数几进制的数,转化结果为一个十进制的数。

1
2
3
4
5
6
7
8
9
二进制转十进制:
>>> int('0b1111',2)
15
八进制转十进制:
>>> int('67',8)
55
十六进制转十进制:
>>> int('0x1f',16)
31

八进制、十进制、十六进制转二进制

使用bin()函数,需要先将八进制、十六进制转换为十进制,然后才能转换为二进制,
即八进制/十六进制 —> 十进制 —> 二进制

1
2
3
4
5
6
7
8
9
八进制转二进制:
>>> bin(int('016',8))
'0b1110'
十进制转二进制:
>>> bin(14)
'0b1110'
十六进制转二进制:
>>> bin(int('0xe',16))
'0b1110'

二进制、十进制、十六进制转八进制

使用oct()函数可以直接进行进制的转换

1
2
3
4
5
6
7
8
9
二进制转八进制:
>>> oct(0b1110)
'016'
十进制转八进制:
>>> oct(14)
'016'
十六进制转八进制:
>>> oct(0xe)
'016'

二进制、八进制、十进制转十六进制

使用hex()函数,需要先将二进制、八进制转换为十进制,然后才能转换为十六进制,
即二进制/八进制 —> 十进制 —> 十六进制

1
2
3
4
5
6
7
8
9
二进制转十六进制:
>>> hex(int('0b1110',2))
'0xe'
八进制转十六进制:
>>> hex(int('016',8))
'0xe'
十进制转十六进制:
>>> hex(14)
'0xe'