前言
这里主要介绍二进制、十进制、八进制、十六进制之间的相互转换,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这些进制标识可加可不加。