一,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~~~