进制转换
4079
2022.08.04
2022.08.04
发布于 未知归属地

十进制与N进制之间的转换

N进制转换为十进制

十进制就是我们常用的1-9,这里要区别其他进制;
思路:*无论小数还是整数都进行级数展开*;

EXAMPLE:
1、 0.101(2) -> 0.625(10) [12^-1 + 02^-2 + 1*2^-3]

特点:N进制转换为十进制的整数进制转换都是进行按级数展开;

十进制转换为N进制 (整数部分)

十进制转换为二进制

思路:将某个十进制数除2得到的整数部分保留,作为第二次除2时的被除数,得到的余数依次记下,
重复上述步骤,直到整数部分为0就结束,将所有得到的余数最终**逆序**输出,则为该十进制对应的二进制数。

EXAMPLE:
1、 9(10)->1001(2)
9 / 2 = 4 ...... 1;
4 / 2 = 2 ...... 0;
2 / 2 = 1 ...... 0;
1 / 2 = 0 ...... 1; 倒过来就是 1001 (2)进制

十进制转换为八进制 和 十六进制 以及 N进制 (整数)

思路:将某个十进制数除N得到的整数部分保留,作为第二次除N时的被除数,得到的余数依次记下,重复上述步骤,直到整数部分为0就结束,将所有得到的余数最终**逆序**输出,则为该十进制对应的二进制数。

特点:整数进制转换 : 十进制转换为N进制都是进行除法,直到余数小于N;

十进制转换为N进制 (小数部分)

十进制转换为二进制

原理:十进制小数转换成二进制小数采用 “乘2取整,顺序输出” 法。

例题: 0.68D = ______ B(精确到小数点后5位)
如下所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B.
例如:十进制小数0.68转换为二进制数
具体步骤:
0.68* 2=1.36 -->1
0.36* 2=0.72 -->0
0.72* 2=1.44 -->1
0.44* 2=0.88–>0
0.88* 2=1.76 -->1
已经达到了题目要求的精度,最后将取出的整数部分顺序输出即可
则为:0.68D–>0.10101B

十进制转换为N进制

原理:十进制小数转换成N进制小数采用 “乘N取整,顺序输出” 法。

(2)思路和十进制转二进制一样,参考如下例题:

例题: 10.68D = ______ Q(精确到小数点后3位)
解析:如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q.

例如:十进制数10.68转换成八进制数,分为整数部分和小数部分求解
步骤:
(1)整数部分
10/8=1 -->2
1/8=0 -->1
倒序输出为12
(2)小数部分
0.68* 8=5.44 -->5
0.44* 8=3.52 -->3
0.52* 8=4.16 -->4
已经达到了题目要求的精度,即可结束
则小数部分为:0.68–>0.534
因此10.68D -->12.534Q

特点:小数进制转换 : 小数部分转换原理都是乘进制数取 整数 部分,再将整数部分 顺序 输出;

其他进制之间的转换

二,八,十六进制之间的直接转换

思路:
每一个十六进制相当于4位二进制;
每一个八进制相当于3位二进制;

其他进制的转换

思路: 通过某个进制实现间接转换,一般都是转换为十进制,在进行转换。

评论 (0)