当前位置:   article > 正文

简单搞定python进制转换_python二进制转换

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/702088
推荐阅读
相关标签
  

闽ICP备14008679号