CPU计算中出现浮动错误

时间:2014-12-02 01:39:02

标签: floating-point

我在CPU

中的浮点赋值中发现了一个奇怪的结果

我的代码是

float W[0]=0.1;
printf("%.10f",W[0]);

结果是0.1000000015

有人可以帮我一个忙吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

0.1十进制是重复' bicimal':0.0 0011 0011 0011 0011 0011 0011 0011 ...(0011重复,我用空格表示)。圆形到24位有效位 - 适合浮点数 - 即0.000110011001100110011001101。那是0.100000001490116119384765625 in decimal。舍入到10位,十进制数为0.1000000015。