python 2进制,8进制,10进制,16进制转换
python里的进制转换并不复杂,大家只需要记住,目标进制为2进制时,就用bin(),目标进制是8进制的时候用oct(),目标进制是10进制的时候用int(),目标进制是16进制的时候用hex()
#coding=utf-8 """ Created on 2016-3-28 @author: Administrator """ class NumberType(): Binary = 1 Eigth = 2 Decimal = 3 Hex = 4 def transfer_number(str_number,oldtype,newtype): number = "" if oldtype == NumberType.Binary: if newtype == NumberType.Eigth: number = oct(int(str_number, 2)) if newtype == NumberType.Decimal: number = int(str_number,2) if newtype == NumberType.Hex: number = hex(int(str_number,2)) if oldtype == NumberType.Decimal: if newtype == NumberType.Binary: number = bin(int(str_number)) if newtype == NumberType.Eigth: number = oct(int(str_number)) if newtype == NumberType.Hex: number = hex(int(str_number)) if oldtype == NumberType.Eigth: if newtype == NumberType.Binary: number = bin(int(str_number, 8)) if newtype == NumberType.Decimal: number = int(str_number, 8) if newtype == NumberType.Hex: number = hex(int(str_number, 8)) if oldtype == NumberType.Hex: if newtype == NumberType.Binary: number = bin(int(str_number, 16)) if newtype == NumberType.Eigth: number = oct(int(str_number, 16)) if newtype == NumberType.Decimal: number = int(str_number, 16) return str(number) if __name__ =="__main__": print transfer_number("2054", NumberType.Decimal, NumberType.Hex)
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。