日常人们生活始终的数字一般都是十进制的,而计算机使用的是二进制除此之外还有八进制、十六进制等等,那么对于不同的进制之间,它们是怎样进行转换的呢?
先来看这样一道题,对于二进制整数1011,把它转换成十进制,我们就会列下式子1*2^3+0*2^2+1*2^1+1*1^0 = 11,这种方法叫按位权展开。这种发法同样适用于m进制转换成十进制。
任何进制中,每个数都可以按位权展开成各个数位上的数字乘以对应数位的位权,再相加的形式。
我们用代码来实现一下
当给我们一个十进制整数11,想要把它转化成二进制,我们列出以下的算式:
2 | 11 1
2 | 5 1
2 | 2 0
2 | 1 1
0
最后自下向上得到1011二进制整数,这种方法叫除二取余法,这种方法同样适用于k进制的数转换成十进制,于是便有了除k取余法。
我们用代码来实现一下
在一些题目中,还有可能会遇到m进制转换为k进制的情况,我们则需要先将m进制转换为10进制,再有十进制转换为k进制进行输出即可。
联系客服