赞
踩
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。