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可带可不带,其他进制同。