进制转换详解

1、从任意进制转换为十进制

我们知道世界上有很多进制数(以下只列举常用进制数)

有:十进制(D)

​ 二进制(B)

​ 四进制

​ 七进制

​ 八进制(O)

​ 十二进制

​ 十六进制(H)

上方圆括号内字母代表相应进制缩写, 且如果要记的话也只需记住这四个
那么现在假设有一个N进制数1230459(N可为任意进制,1230459也为随意列举数字,其他同理)

要将该N进制数转换为十进制数

只需:

​ 1 x N^6^ + 2 x N^5^ + 3 x N^4^ + 0 x N^3^ + 4 x N^2^ + 5 x N^1^ + 9 x N^0^

可以看到任意进制数在转换成十进制数时最低位的权值都为N^0^,也就是1,而最高位的权值则为N^数字位数-1^。

任意进制数转换十进制数只需要如此计算即可。

2、从十进制数转换为任意进制

​ 将十进制转换为任意进制其实只需要总结两句话,即为除N取余,逆序排列。

​ 例子:10110101(二进制)转换为十进制

根据上面介绍过的,计算过程为:

1 x 2^7^ + 0 x 2^6^ + 1 x 2^5^ + 1 x 2^4^ + 0 x 2^3^ + 1 x 2^2^ + 0 x 2^1^ + 1 x 2^0^ = 181

那么如何将181(十进制)转换为二进制呢,下方为过程

​ 181 / 2 = 90 …… 1

​ 90 / 2 = 45 …… 0

​ 45 / 2 = 22 …… 1

​ 22 / 2 = 11 …… 0

​ 11 / 2 = 5 …… 1

​ 5 / 2 = 2 …… 1

​ 2 / 2 = 1 …… 0

​ 1 / 2 = 0 …… 1

此时再回过头看一下这句话“除N取余,逆序输出”,那么你就可以发现从下往上、从左往右分别输出结果就是10110101接下来我们可以再尝试将181转换为十六进制数,过程如下

​ 181 / 16 = 11 …… 5

​ 11 / 16 = 0 …… 11

那么结果就是115,但是我们知道在十六进制中这个11实际上代表的是一位数字而不是两位,那么在处理十六进制数时,我们会将计算中产生的10——15转换为A——F,也就是10-A,11-B,12-C,13-D,14-E,15-F,所以结果就是B5,此刻我们也可以将B5转换为十进制也就是11 x 16^1^ + 5 x 16^0^ = 181,刚好是相等的。

3、二进制与八进制、十六进制之间的快速转化

​ 我们还是借用上方的例子,此时我们已经知道10110101(二进制) = 181(十进制) = B5(十六进制)。

那么如何快速将二进制转换为十六进制呢?

我们知道16是2^4^,根据四位二进制数的表示范围刚好是0——15,我们可以知道十六进制数的一位相当于是二进制数的四位,因此我们可以从右往左分别间隔四位划分,即1011|0101,再根据四位的权值从左往右为2^3^,2^2^,2^1^,2^0^,也就是8,4,2,1,此处可以当成口诀来记,那么1011就是8 + 2 + 1 = 11 = B,0101就是4 + 1 = 5,结合就是B5。

同理对于二进制转化为八进制,可以是间隔三位划分,即010|110|101,权值分别为4,2,1,那么最后可转换为265,265可转换为十进制2 x 8^2^ + 6 x 8^1^ + 5 x 8^0^ = 181,发现都是对的,那么以上都是成立的。

其实我们已经知道了这种规律,那么当我们面对十六进制/八进制转化二进制时,只需要脑子动的快一点,8421/421套进去看看如何组成当前数字,就可以知道二进制数字的最终结果了。

以上就是有关进制转换的所有内容,由衷地感谢你能看到这里,如果有任何问题欢迎随时联系我(QQ:850107252)。

添加新评论