各进制数之间的转换:
计算机底层通过二进制进行运算,由0和1组成。
表示各进制的符号:
b:二进制,o:八进制,d:十进制,x:十六进制
bin()、oct()、hex()返回值均为字符串,且分别带有0b、0o、0x前缀。
通过Python内置函数进行进制之间的转换:
1、十进制转二进制
1 >>> bin(10) 2 '0b1010' 3 4 >>> '{0:b}'.format(10) 5 '1010'
2、十进制转八进制
>>> oct(12) '014' >>> '{0:o}'.format(12) '14'
3、十进制转十六进制
>>> hex(12) '0xc' >>> '{0:x}'.format(12) 'c'
4、二进制转十进制
>>> int('1010',2) 10 >>> eval('0b10') 2
int(string_num, n):
string_num:进制的字符串表示
n:表示string_num是多少进制的数
5、八进制转十进制
>>> int('014',8) 12 >>> '{0:d}'.format(014) '12' >>> eval('0o10') 8
6、十六进制转十进制
>>> '{0:d}'.format(0xc) '12' >>> int('0xc',16) 12 >>> eval('0x10') 16
二进制、十六进制、八进制之间的转换,可以借助十进制这个中间值,即先转十进制再转其他进制,也可以直接使用函数进行转换。如:
十六进制转二进制:
#借助十进制 >>> bin(int('fc',16)) '0b11111100' #利用函数直接转 >>> bin(0xa) '0b1010' >>> oct(0xa) '012' >>> hex(10) '0xa'
注意:
hex函数比格式化字符串函数format慢,不推荐使用。
eval函数比int函数慢,不推荐使用。
如果不通过python内置函数转换,可以直接通过计算得出:
详细参考以下链接内容 https://jingyan.baidu.com/article/495ba84109665338b30ede98.html