从
0.2=0.4,0.8,1.6,1.2,0.4,0.8,1.6,1.2……
这个列式,可以猜出这是十进制数转换为二进制数时,对小数部分的转换.
十进制转换为二进制时,分成两个部分进行.
十进制的整数部分采用除2取余法,转换为二进制数.
十进制的整数部分采用乘2取整法,直到小数部分为0,或者达到计算精度(对与小数部分不可能达到0的数),转换为二进制数.
具体来说,十进制的小数部分0.2转换为二进制数,要进行如下计算
0.2×2=0.4 小数部分为0.4,取出再乘,整数部分为0
0.4×2=0.8 小数部分为0.8,取出再乘,整数部分为0
0.8×2=1.6 小数部分为0.6,取出再乘,整数部分为1
0.6×2=1.2 小数部分为0.2,取出再乘,整数部分为1
0.2×2=0.4 小数部分为0.4,取出再乘,整数部分为0
.
.
.
.
.
.
发现0.2怎么都不能使小数部分为0,所以只能计算到一定精度,比如计算到二进制的小树点后4位,则0.2约等于二进制数的
0.0011(将每次运算结果的整数部分取出,依次写到小数点的后面)
至于说"看成等比数列的话求和恰好是0.2”
这句话有点小瑕疵,只能约等于0.2.
你按二进制转十进制的方法计算一下二进制的0.0011转换成十进制,就明白是怎么回事了.