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

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中
y
int(oct(int(x,2))[2::])

结果为:134671

例2:八进制转十六进制

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

结果为:’0x42’

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值