十进制转N进制

十进制转N进制教程

进制转换,我们大体可以分为三种情况,即,分别为:将 N 进制转为十进制、将十进制转为 N 进制、其他进制之间的互转。

十进制转 N 进制,也就是将十进制数转成 二进制八进制 或者 十六进制

十进制转N进制详解

定义

十进制转 N 进制,也就是将十进制数转成二进制、八进制或者十六进制。

算法

整数部分

十进制整数转换为 N 进制整数采用 “除 N 取余,逆序排列” 法。

也就是将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数,保留余数,用商继续除以 N,又得到一个新的商和余数,仍然保留余数,用商继续除以 N,还会得到一个新的商和余数,如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。

小数部分

十进制小数转换成 N 进制小数采用 “乘 N 取整,顺序排列” 法。

也就是用 N 乘以十进制小数,可以得到一个积,这个积包含了整数部分和小数部分,将积的整数部分取出,再用 N 乘以余下的小数部分,又得到一个新的积,再将积的整数部分取出,继续用 N 乘以余下的小数部分,如此反复进行,每次都取出整数部分,用 N 接着乘以小数部分,直到积中的小数部分为 0,或者达到所要求的精度为止。

最后,把取出的整数部分按顺序排列起来,先取出的整数作为 N 进制小数的高位数字,后取出的整数作为低位数字,这样就得到了 N 进制小数。

案例

十进制整数转八进制

将十进制的 36926 转成八进制,转换过程如下:

07_十进制转八进制.png

我们将十进制的 36926 转成八进制,基本思想就是将每一位不停的除以 8, 直到商为 0 即可,然后将余数倒叙排列,就是我们想要的结果。

从上面可以看出,将十进制的 36926 转成八进制的最终结果为 110076。

十进制整数转二进制

将十进制的 42 转成二进制,转换过程如下:

08_十进制转二进制.png

我们将十进制的 42 转成二进制,基本思想就是将每一位不停的除以 2, 直到商为 0 即可,然后将余数倒叙排列,就是我们想要的结果。

从上面可以看出,将十进制的 42 转成二进制的最终结果为 101010。

十进制小数转八进制

将十进制的 0.930908203125 转成八进制,转换过程如下:

09_十进制转八进制.png

我们将十进制的 0.930908203125 转成二进制,基本思想就是将每一位不停的乘以 8, 直到小数为 0 即可,然后将整数顺序排列,就是我们想要的结果。

从上面可以看出,将十进制的 0.93090820312 转成二进制的最终结果为 0.7345。

十进制小数转二进制

将十进制的 0.6875 转成二进制,转换过程如下:

10_十进制转二进制.png

我们将十进制的 0.6875 转成二进制,基本思想就是将每一位不停的乘以 2, 直到小数为 0 即可,然后将整数顺序排列,就是我们想要的结果。

从上面可以看出,将十进制的 0.6875 转成二进制的最终结果为 0.1011。

十进制转N进制总结

十进制整数转换为 N 进制整数采用 “除 N 取余,逆序排列” 法。十进制小数转换成 N 进制小数采用 “乘 N 取整,顺序排列” 法。