?
?
使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。
先看Python官方文档中对这几个内置函数的描述:
bin(x)
Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object,it has to define an __index__() method that returns an integer.
oct(x)
Convert an integer number to an octal string. The result is a valid Python expression. If x is not a Python int object,it has to define an __index__() method that returns an integer.
int([number | string[,base]])
Convert a number or string to an integer. If no arguments are given,return 0. If a number is given,return number.__int__(). Conversion of floating point numbers to integers truncates towards zero. A string must be a base-radix integer literal optionally preceded by ‘+’ or ‘-‘ (with no space in between) and optionally surrounded by whitespace. A base-n literal consists of the digits 0 to n-1,with ‘a’ to ‘z’ (or ‘A’ to ‘Z’) having values 10 to 35. The default base is 10. The allowed values are 0 and 2-36. Base-2,-8,and -16 literals can be optionally prefixed with 0b/0B,0o/0O,or 0x/0X,as with integer literals in code. Base 0 means to interpret exactly as a code literal,so that the actual base is 2,8,10,or 16,and so that int(‘010‘,0) is not legal,while int(‘010‘) is,as well as int(‘010‘,8).
hex(x)
Convert an integer number to a hexadecimal string. The result is a valid Python expression. If x is not a Python int object,it has to define an __index__() method that returns an integer.

?
#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‘
?
?refer:https://www.cnblogs.com/jsplyy/p/5636246.html