进制转换
1、十进制整数转为n进制整数
1.1 除N取余法
所谓除N取余法,就是将一个是进制数除以N,得到一个商和一个余数,并记下这个余数r0。
然后将商作为被除数除以N,得到一个商和一个余数,并记下这个余数r1。
不断重复以上过程,直到商为0为止。
假设一共除了m次,则得到的N进制整数从高位到低位为r(m-1) … r2 r1 r0。
如十进制整数10转化为2进制的过程为:
10/2 = 5余0
5/2 = 2余1
2/2 = 1余0
1/2 = 0余1
所以二进制形式为1010
1.2 降幂法
所谓降幂法就是将十进制整数不断减去与该整数最接近的N进制整数的位权,如果够减m次则对应N进制位上的数字为m(m<N),否则为0。得到的差值作为新的被减数进行下一次计算,直到被减数为0。
如十进制数130转换成8进制的过程为:
130-82=66
66-82=2
2-8(不够减)
2-1=1
1-1=1
所以对应的8进制整数为202
2、十进制小数转为n进制小数
2.1 乘N取整法
所谓乘N取整法是将十进制的小数乘以N,得到的整数部分作为小数点后第一位。剩余的小数部分再乘以N,得到的整数部分作为小数点后第二位。直到剩余小数部分为0,或达到一定精度为止。
如十进制的0.54转换为16进制的过程为:
0.55*16=8.8 —8
0.8*16=12.8 —12(C)
0.8*16=12.8 —12(C)
0.8*16=12.8 —12(C)
…
由于不能被精确的转换,我们可以只取前4位,为0.8CCC