计算机编程中经常遇到各个进制之间的互换问题,结合Python语言,本文列举了个人比较擅长使用的进制互换的计算方法,以飨各位看官。
在Python里,我们用以下代码分别表示各个进制。
bin() 转2进制方法 ;
int() 转10进制方法 ;
oct() 转8进制方法 ;
hex() 转16进制方法 ;
如果想输入二进制数字,必须加前缀0b ,例如 0b10100011 ;
如果想输入十进制数字,不需要加任何前缀 ,例如 163 ;
如果想输入八进制数字,必须加前缀0o ,例如 0o243 ;
如果想输入十六进制数字,必须加前缀0x ,例如 0xA3 .
首先列举每个进制的基础转换表格如下:
二进制与十进制之间的转换
例1:将二进制数 0B 1010 0011 转换为十进制数的方法
注解:
在上表中,位数表示一个二进制数一共有多少位有效数字,从左边第一个数字起,他的位数分别是0,1,2,3,....,(直到末位不是0的数字止),一共多少位,就标注数字多少。
然后计算的公式如下:(上表中int表示十进制,及代号 y )
y=x0*2^0+x1*2^1+x2*2^2+x3*2^3+...+x7*2^7 = 163 (这就是对应输出的十进制数字)
接着例1,再把上述十进制数163 转换为二进制的方法如下:
注解:在上表中,我们的任务是把十进制数字 163 转换成二进制,那么首先使用163÷2,其商为81,余数为1 (并把余数“1”写在该行最后);
在使用81÷2,其商为40,余数为1(并把余数“1”写在该行最后);
...
最后,直到0÷2 的商依然是0,结束计算,然后把最后列出的余数“0” 或者“1” 按照从下往上的顺序排列出来,即为 1010 0011.
完成转换。
以上是二进制与十进制之间的互换方法,下一个文章再表达八进制与十进制之间的转换方法。
以上。感谢阅读。