python實現進制轉換(二、八、十六進制;十進制)
(一)十進制整數轉為二、八、十六進制
1、format實現轉換
>>> format(2,"b") # (10進制的)2轉二進制
'10'
>>> format(9,"o") # (10進制的)9轉八進制
'11'
>>> format(17,"x") # (10進制的)17轉十六進制
'11'
format(integer, 'x') 將integer轉換為16進制,不帶0x。integer為整型,'x'可換為'o','b','d'相對應八、二、十進制。
2、內置函數bin、oct、hex實現轉換2、8、16進制的字串
>>> bin(3) # (10進制的)3轉二進制
'0b11'
>>> oct(9) # (10進制的)9轉8進制
'0o11'
>>> hex(17) # (10進制的)17轉16進制
'0x11'
內置函數bin、oct、hex實現轉換,會帶進制前綴'0b'、'0o'、'0x'
(二)二、八、十六進制轉為十進制
>>> int("11",2) # (2進制的)"11"轉十進制
3
>>> int("11",8) # (8進制的)"11"轉十進制
9
>>> int("11",16) # (16進制的)"11"轉十進制
17
int(string, number) 將任意進制的s(string類型)轉換為十進制。s與number的進制類型需匹配,如s是16進制,則number=16,否側會出錯。若s為16進制,0x可帶可不帶,其他進制同。