Python中各种进制之间的转换

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)

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

  • 使用内置函数来转换

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

>>>
  • 使用字符串格式化来转化

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

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

>>>

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

  • 使用int函数来转换

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

>>> int("0x40", 16), int("0b1000000", 2)
(64, 64)

>>>
  • 使用eval函数来转换

>>> eval("64"), eval("0o100"), eval("0x40"), eval("0b1000000")
(64, 64, 64, 64)

>>>

 

你可能感兴趣的:(【编程语言】)