python进制转换

前言

这里主要介绍二进制、十进制、八进制、十六进制之间的相互转换,python中有专门的内置函数来实现进制转换,因此我们不需要自己写。

一、转二进制

>>> bin(10)
'0b1010'
>>> bin(0o12)
'0b1010'
>>> bin(0xa)
'0b1010'

转二进制使用bin()函数,其参数默认为十进制数,八进制数需要加上0o标识,十六进制数需要加上0x标识。

二、转八进制

>>> oct(10)
'0o12'
>>> oct(0b1010)
'0o12'
>>> oct(0xa)
'0o12'

转八进制使用oct()函数,其参数默认为十进制数,二进制数需要加上0b标识,十六进制数需要加上0x标识。

三、转十六进制

>>> hex(10)
'0xa'
>>> hex(0b1010)
'0xa'
>>> hex(0o12)
'0xa'

转十六进制使用hex()函数,其参数默认为十进制数,二进制数需要加上0b标识,八进制数需要加上0o标识。

注意:以上进制转换的输出都是字符串类型,如若不需要前面的进制标识,只需进行字符串分割即可。例如:hex(10)[2:]。

四、转十进制

>>> int('0b1010', 2)
10
>>> int('1010', 2)
10
>>> int('12', 8)
10
>>> int('0o12', 8)
10
>>> int('0xa', 16)
10
>>> int('a', 16)
10

转十进制使用int()函数,其参数有两个,前者为字符串类型,表示需要转换成十进制的数字,后者为整型,表示转换前的数字为何种进制。由于这里有参数说明转换前的数字是哪种进制,所以0b、0o、0x这些进制标识可加可不加。

你可能感兴趣的:(python进制转换)