Python不同进制之间的转换

不同的进制

二进制    0b101 

     以数字0和字母b打头的表示二进制数 如果出现大于等于2的数 会抛出SyntaxError异常 

八进制    0711 

     以数字0打头的数字表示八进制数 如果出现大于等于8的数 会抛出SyntaxError异常 

十进制    123 

     正常显示 不能出现字母 

十六进制  0x15 

     以数字0和字幕x打头的表示十六进制数 可以出现0-9和abcdef或ABCDEF出现其他数值会抛出SyntaxError异常

python 2.6以后内置函数

#10进制转为2进制

>>> bin(10)
'0b1010'

#2进制转为10进制

>>> int("1001",2)
9

#10进制转为16进制

>>> hex(10)
'0xa'

#16进制到10进制

>>> int('ff', 16)
255
>>> int('0xab', 16)
171

#十进制转为八进制

>>print("%o" % 10)
>>12

#16进制到2进制

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

#10进制到8进制

>>> oct(8)
'010'

#2进制到16进制

>>> hex(0b1001)
'0x9'

另外,在交互式解释器环境中.python会自动的将不同的进制自动转换为十进制,进行运算.

>>> 0b101 + 0711 + 123 + 0x15 
606

点赞