前言python
这里主要介绍二进制、十进制、八进制、十六进制之间的相互转换,python中有专门的内置函数来实现进制转换,所以咱们不须要本身写。函数
1、转二进制spa
>>> bin(10) '0b1010' >>> bin(0o12) '0b1010' >>> bin(0xa) '0b1010'
转二进制使用bin()函数,其参数默认为十进制数,八进制数须要加上0o标识,十六进制数须要加上0x标识。code
2、转八进制blog
>>> oct(10) '0o12' >>> oct(0b1010) '0o12' >>> oct(0xa) '0o12'
转八进制使用oct()函数,其参数默认为十进制数,二进制数须要加上0b标识,十六进制数须要加上0x标识。字符串
3、转十六进制class
>>> hex(10) '0xa' >>> hex(0b1010) '0xa' >>> hex(0o12) '0xa'
转十六进制使用hex()函数,其参数默认为十进制数,二进制数须要加上0b标识,八进制数须要加上0o标识。二进制
注意:以上进制转换的输出都是字符串类型,如若不须要前面的进制标识,只需进行字符串分割便可。例如:hex(10)[2:]。di
4、转十进制co
>>> 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这些进制标识可加可不加。