利用python实现任意进制的相互转换

来源:互联网 发布:mac迅雷链接不合法 编辑:程序博客网 时间:2024/06/05 05:56

Most important!

  • 关键:十进制是bridge

  • 基本1: A进制(a) –> 十进制(d)
    d=int(a,A)
    说明:A的取值为2,8,16

  • 基本2: 十进制(d)–> A进制(a)
    a=bin(d)
    a=oct(d)
    a=hex(d)

So,利用以上两个基本知识,可以实现任意进制的随意转换啦~


补充:
二进制的每三位–>八进制的一位
二进制的每四位–>十六进制的一位


例1:二进制转八进制

x='1011100110111001'y=int(oct(int(x,2))[2::])y #这样我们得到的八进制是一个整数,后面可以直接使用

结果为:134671

# 二进制转八进制的详细解剖x='1011100110111001'y=oct(int(x,2)) #得到的y是字符,长相是酱紫的:'0o134671'z=y[2::]        #python返回的结果前面两位标识符我们不需要哈,所以从第三位数开始取值w=int(z)        # z是字符,将其转换为整数,保存在变量w中yint(oct(int(x,2))[2::])

结果为:134671

例2:八进制转十六进制

# 八进制转十六进制x='102'y=hex(int(x,8)) y

结果为:’0x42’

0 0
原创粉丝点击