1. 程式人生 > >Python中各種進位制之間的轉換

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)

>>>