本文主要探讨进制转化问题,主要分整数与小数两部分。
1.整数转化
1.1 十进制转化为其他进制
一般使用 “连除法” ,将进制作为除数并求余数。
以十进制转化为二进制为例:
eg :将十进制97转化为二进制
97 / 2 = 48 余 1
48 / 2 = 24 余 0
24 / 2 = 12 余 0
12 / 2 = 6 余 0
6 / 2 =3 余 0
3 / 2 =1 余 1
将最后一次的商与所有余数依次从下向上写出 : 1100001 (此处背景颜色与上方运算中颜色对应一致)
这个数便是转化过来的二进制数字。
而化为八进制与十六进制等也是用同样方法,只是将除数变为8 或者 16 了。
1..2 其他进制之间的转化
一般使用 “指数对应法” ,先判断进制关系,再拆开对应。
以二进制转化为八进制为例:
eg 1 :将二进制11011110转化为八进制
首先判断进制之间指数关系:
8 = 2的3次方
2 = 2的1次方
那么确定二进制与八进制是1比3的关系,那么三位二进制数对应一位八进制数:
将二进制数从低位以3位为单位划分 :11 011 110
划分出的三部分值分别是 : 2 3 6
换算为八进制 : 2 3 6
那么对应的八进制数为 : 236
eg 2 : 将十六进制数235化为二进制数
16 = 2的4次方
2 = 2的1次方
那么确定十六进制与二进制是4比1的关系,那么1位十六进制数对应4位二进制数:
将十六进制数从低位以1位为单位划分 : 2 3 5
划分出的三部分值分别是 : 2 3 5
换算为四位一组的二进制 : 0010 0011 0101
那么对应的二进制数为 : 001000110101
2.小数部分换算
2.1十进制小数转化为其他进制小数
一般使用 ”倍数取整法“:几进制就乘几,然后取整数作为结果。
以二进制小数转化为十进制小数为例:
eg :将十进制小数0.625转化为二进制小数:
首先二进制对应2 ;
然后将原小数乘对应的数得到1.25,取整数 1 作为第一个结果 ,取小数0.25作为下一次操作对象;
然后将原小数乘对应的数得到0.5,取整数 0 作为第二个结果 ,取小数0.5作为下一次操作对象;
然后将原小数乘对应的数得到1.0,取整数 1 作为第三个结果 ,小数为0,结束进程;
将以上结果依次列出,得到结果为 0.101;
如果换算为其他进制,那么乘对应的数即可,其他步骤不变。
以上为进制转换的一些方法,如有不足,多多指教。