一小时搞定python进制转换的办法

一,python相关进制转换方法;

python分别有二进制,八进制,十进制以及十六进制;

二进制用 0b开头+数字表示 范围内共有0—1两个数字 逢二进一;

例如: 0b110

八进制用 0o开头+数字表示 范围内共有0—7八个数字 逢八进一;

例如: 0o751001

十进制用正常数字表示即可 范围内共有 0 — 9 十个数字 逢十进一;

例如: 64013

十六进制用 0x开头+数字表示 范围内共有 0—9 以及a—f十六个数字;

依此类推 {a = 10 b = 11 ... f = 15 };

例如: 0xa005f

如果需要十进制转换至二进制 给十进制的数字一个非关键字的字母来代表该十进制表达的数字;

然后输入 print(bin(i0))来进行进制转换;

进行程序;

红框内则是十进制转换为二进制的数字表达方式

依次类推

八进制的转换方式为 print(oct(xx)) ,十进制的转换方式为 print(int(xx)), 十六进制的转换方式为print(hex(xx)) ,释:xx代表的是你付与所需要转换进制数字的变量;

这是八进制的转换; 0o307就是十进制199转换至十六进制的{下图所示};

这是十六进制的转换; 0xc7 就是十进制199转换至十六进制的{下图所示};

八进制转至十六进制,十进制,二进制方法同上 只需改变一下赋予变量后的数字表达方式即可;

二,进制转化原理算法

进制转化的计原理计算方法;

1. 计算方式为从右往左数 每个数的位序次方计算完成后依次相加

例如:0b110 计算为 0*2的0次方 + 1*2的1次方 + 1*2的2次方

计算结果为: 1+2+4=7 结果为7

2.将数字199转化为二进制;

找小于当前值最大的 2的n次方 满足条件最大的值是128 是2的7次方

199-128=71

再找到小于71的最大的2的n次方 满足条件的最大的值是 64 是2的6次方

71-64=7

方法同上 找到小于当前数值的最大的2的n次方的的值 是 4 是2的2次方

7-4=3

最大值为2 是2的1次

3-2=1 整除不掉且在二进制取值范围内 ;

将得到的依从小到大的顺序列进二进制的表达中 ;

依次排列出二进制为 0b11000111 ;

整体总结:原始算法原理为 找到需要转换制的最大次方数的值要小于当前需要转换的数值

然后用当前数值减去最大次方数的数值 并以此类推 然后汇总 给出进制转换的数!

bye~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值