python进制转换有着多种方法。
本文介绍的是python通过调用内置函数hex()、bin()、oct()、int()这四种方式进行常见的进制转换
函数见下表:
原理:先将读入的字符串x进行转换为十进制,再由十进制进行相关的转换。
注意的一点是:bin()、oct()、hex()的返回值均为字符串,且分别带有0b、0o、0x前缀。故后面在读取的时候需要舍去前缀。
以十六进制转换为例:a = "FF" # 十六进制转二进制 b = bin(int(a,16))[2:] # 因为上文提过bin函数带有两位数的前缀,故加上[2:]舍去前缀 print(b) # 11111111 # 十六进制转八进制 b = oct(int(a,16))[2:] print(b) # 377 # 十六进制转十进制 b = int(a,16) print(b) # 255二进制转换:
a = "1011100" # 二进制转八进制 b = oct(int(a,2))[2:] # [2:]从第二位数开始读起 print(b) # 134 # 二进制转十进制 b = int(a,2) print(b) # 92 # 二进制转十进制 b = hex(int(a,2))[2:] print(b) # 5c十进制转换:
同上可得:
a = "92" # 十进制转二进制 b = bin(int(a,10))[2:] # 加上[2:]从第二位数开始读起 print(b) # 1011100 # 十进制转八进制 b = oct(int(a,10))[2:] print(b) # 134 # 十进制转十六进制 b = hex(int(a,10))[2:] print(b) # 5c



