无限循环的二进制小数怎么精确转换为十进制小数。举个例子0.3。
1、我们先把0.3转换为二进制后是无限循环小数:
0.3*2=0.6----0
0.6*2=1.2----1
0.2*2=0.4----0
0.4*2=0.8----0
0.8*2=1.6----1
0.6*2=1.2----1 //开始循环
于是就是0.0100110011.....
2、上面的数可以看成三个循环小数的计算:
0.01111111....减去0.00100010001......再减去0.000100010001......
3、上面的二进制小数可以看成等比数列:
第一个等比数列为:a1=2^-2,q=2^-1,an=(2^-2)*2^[(n-1)*(-1)]
第二个等比数列为:a1=2^-3,q=2^-4,an=(2^-3)*2^[(n-1)*(-4)]
第三个等比数列为:a1=2^-4,q=2^-4,an=(2^-4)*2^[(n-1)*(-4)]
等比数列和公式为sn=(a1-an*q)/1-q
所以带入公式n趋近于无穷大∞,得出求和分别是:1/2、2/15、1/15
1/2-2/15-1/15=3/10=0.3
写的比较简约,如有问题,欢迎探讨