前言
今天讲进制间的转换,但是需要郑重声明的是:每一种进制本身就是完美的,根本不需要转换,但是我们有时可能需要在进制之间进行转换,所以记录一下。
进制间转换的方法
这种方法是以十进制作为桥梁进行转换的。把一个进制转成另一种进制的具体步骤如下:
- 把本进制数转换为十进制:将每一个位上的数按权展开后求和。
- 把得到的十进制数作为被除数,把需要转换成的目标进制的进制数作为除数,把商写在下方,把余数写在右边。
- 如果下方的商不为 0,则把商作为被除数,需要转换成的目标进制的进制数作为除数,继续求解,把商写在下方,把余数写在右边。
- 重复 3 步骤,直到下方的商为 0。
5.把右边的余数从下往上取,就可以得到目标的进制数。(这里的每一个余数是十进制的,要弄成对应的目标进制)。
因为十进制作为中间桥梁,所以进制间的转换就变成十进制与其他进制之间的转换了。
例子 1:二进制转十六进制
二进制的 1000 1101 转成十六进制:
我们先把二进制转成十进制,
1×2^7 + 0×2^6 + 0×2^5 + 0×2^4 + 1×2^3 + 1×2^2 + 0×2^1 + 1×2^0=141
二进制转十进制的转换方法:用二进制的每一位的数字乘于该位相应的 2 的次幂(幂数从右边开始,从 0 开始递增)。
十进制转十六进制的方法:把十进制数除以 16,直到商为 0,最后余数从下往上取。如下图
图中的步骤说明:先把被除数 141 写到里面,把除数 16 写到左边,计算得到的商写到下面,把余数写到右边,这就完成一步
接着把得到的商作为被除数,重复上面的步骤,直到下面的商为 0 才结束。结束后把右边的余数从下往上取,得到的结果就是十进制对应的十六进制数。因为是十六进制,13 是 D,所以得到的结果是 8D。
例子 2:十进制转二进制
为了大家更好地理解,我再举个例子,就把十进制的 141 转换成二进制,过程如下图
步骤跟上面的是一样的,只是数据不一样而已,最后的结果是 10001101,跟我们刚开始的是一致的。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于