Python中各種進位制之間的轉換
阿新 • • 發佈:2018-12-12
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)
>>>