数值计算:二进制分数与十进制分数的转化
整数的十进制而二进制的转化比较简单,而且任意一个整数都可以用有限长位数的二进制数来表示,而分数就不一定了。因为整数的最小间隔是1,而分数则可以是无穷小的,所以有时候有限的十进制分数会转化为无限循环的二进制小数
十进制分数转化为二进制分数
二进制的分数可以表示为2的负次幂的和,即假设R是一个正的纯小数,其可以表示为
为了将转化为分数,我们将(1)两边都乘上2,则有
此时的是的整数部分,即,由此可得,把的小数部分记为,则
同样按照上面的步骤,将(3)两边乘上2,则有
则有,同样,将的小数部分记为,按照上述的步骤便可依次得到
下面以0.7为例子,将其转化为二进制分数
注意到,即以后的数字都是重复循环的,所以0.7转化为二进制小数位无限循环的,即
二进制分数转化为十进制分数
假如是非无限循环的二进制小数,只需代进(1)式便可以得出其对应的十进制分数,而假如是无限循环的如,我们可以这么做,两边乘上32,则有
然后在将原式两边乘上1024,则有
上面两式相减,有
所以可得,其他的循环小数用此方法进行转化。