用print()函数直接输出这些带前缀的数据,可以直接转换为十进制数。
>>> print(0b1010) #0*2的0次方+1*2的1次方+0*2的二次方+1*2的3次方=10
10
>>> print(0o173) #3*8的0次方+7*8的一次方+1*8的二次方=123
123
>>> print(0x1f) #15*16的0次方+1*16的一次方=31
31
>>> bin(10)
'0b1010'
>>> oct(15)
'0o17'
>>> hex(42)
'0x2a'
语法:int('数值',进制)
>>> int(0b101010001)
337
>>> int('101010001',2)
337
第二种方式:被转换的数据必须以字符串的形式进行输入
>>> a[-6:-4] #结束编号一定要大于起始编号,-4为结尾且不包含-4的值
'94'
>>> int(a[-6:-4],16) #转化为十进制的3位数
148
>>> a[-4:] #取值最后4位数
'4664'
>>> int(a[-4:],16) #转换为十进制的5位数
18020
>>> str(int(a[-6:-4],16)) + ',' + str(int(a[-4:],16))
'148,18020'