十进制小数转换为二进制小数十进制小数转换成二进制小数时,采用了“乘 2 取整,顺序排列”的方法。具体做法是:首先用 2 乘十进制小数,可以得到积,将积的整数部分取出,再用 2 乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此一直进行到积中的小数部分为零时,则其整数部分即为二进制的最后一位。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。例如:将十进制的 0.3125 转换为二进制数。0.3125*2=0.615 …………取出整数部分 00.625*2=1.25 ……………取出整数部分 10.25*2=0.5 ………………取出整数部分 00.5*2=1 ………………… 取出整数部分 1则其二进制数为 0.0101但有时候我们会遇到连续运算后,得到积中的小数部分无法为零的情况。例如: 将十进制 0.64 转换为二进制数。0.64*2=1.28 ………………取出整数部分 10.28*2=0.56 ………………取出整数部分 00.56*2=1.12 ………………取出整数部分 10.12*2=0.24 ………………取出整数部分 00.24*2=0.48 ………………取出整数部分 00.48*2=0.96 ………………取出整数部分 00.96*2=1.92 ………………取出整数部分 10.92*2=1.84 ………………取出整数部分 10.84*2=0.68 ………………取出整数部分 0这时,通常的做法是只取到所要求的精度为止,如 8 位,即十进制小数0.64 的二进制表示为 0.10100011。从上述描述中,我们可以看到,十进制小数转换成二进制小数时,会存在不能精确表示的问题。