进制间数据转换

Python整数能够以十六进制,八进制和二进制来编写,作为一般以10位基数的十进制计数法的补充


一: 上面三种进制的常用表示

>>> 0o1, 0o20, 0o377           # 八进制常用表示,0o或者0O开头,后面接数字
(1, 16, 255)



>>> 0x01, 0x10, 0xFF           # 十六进制常用表示,0x或者0X开头,后面接0-9,A-F
(1, 16, 255)


>>> 0b1, 0b10000, 0b11111111   # 二进制常用表示,0b开头,后面接01组成的数字
(1, 16, 255)



二: 十进制向其他进制之间的转换
1、使用内置函数来转换


>>> oct(64), hex(64), bin(64)
('0o100', '0x40', '0b1000000')


2、使用字符串格式化来转化

>>> "{0:0o}, {1:0x}, {2:0b}".format(64, 64, 64)
'100, 40, 1000000'


>>> "%0o, %0x, %0X" % (64, 255, 255)
'100, ff, FF'


三: 其他进制向十进制之间的转换

1、使用int来转换

>>> int("64"), int("100", 8), int("40", 16), int("1000000", 2)
(64, 64, 64, 64)
 
>>> int("0x40", 16), int("0b1000000", 2)
(64, 64)

2、使用eval函数来装换


>>> eval("64"), eval("0o100"), eval("0x40"), eval("0b1000000")
(64, 64, 64, 64)
原文地址:https://www.cnblogs.com/changwenjun-666/p/11453620.html