第二章——进制

各进制数之间的转换:

计算机底层通过二进制进行运算,由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

原文地址:https://www.cnblogs.com/james201133002/p/9077320.html