简单搞定python进制转换

1、python的进制转换方法

十进制范围0-9共10个数 逢十进一十进制直接写 a=100;

二进制范围0-1 共2个数 逢二进一以0b开头, b=0b110;

八进制范围0-7 共8个数 逢八进一,以0o开头 c=0o526;

十六进制范围0-9或a-f a=10 b=11 c=12 d=13 e=14 f=15,以0x开头  d= 0x0012ac

(1)10进制 为数字0-9共10个数字,逢10进1,例a=100,

  十进制转换二进制命令为 bin() ,  输入“print(bin(a))"运行即可将a转换为二进制

 十进制转换八进制命令为 oct() ,  输入“print(oct(a))"运行即可将a转换为八进制

十进制转换八进制命令为 oct() ,  输入“print(oct(a))"运行即可将a转换为八进制

(2) 二 、八、十六 进制转换为十进制 可输入“print(int( ))

2、进制原理转换算法

 比如i0=199, 十进制理解为(从数据后侧向前)9*10的0次方+9*10的1次方+1*10的2次方=9+90+100=199

根据此计算原理,可以将i0=199 转换计算为二进制 ,找小于当前数值最大的2的n次方:

128+64+4+2+1,可以推导出,128为2的7次方,则在二进制中位于第8位(从后至前数),其余数值依次推出位置 ,得到二进制数值:0b11000111

验证:

 同理 可以将i0=199 转换计算为八进制,找小于当前数值最大的8的n次方:64+64+64+7,分别为8的2次方*3,+7*8的0次方,0o307。

验证:

 同理 可以将i0=199 转换计算为十六进制,找小于当前数值最大的16的n次方,16+16+16+16+16+16+16+16+16+16+16+16+7 理解为12个16的1次方+7(7 *16的0次方),则为0xc7

验证:

(3)将二进制 0b11000111,八进制0o307  十六进制0xc7转换成十进制

0b1000111:1*2的0次方+1*2的1次方+1*2的2次方+1*2的6次方+1*2的7次方=199

0o307:7*8的0次方+3*8的2次方=199

0xc7:7*16的0次方+12*16的1次方=199

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值