python实现进制转换(二、八、十六进制;十进制)
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可带可不带,其他进制同。
小结:直接上图