浮点数陷阱

 

浮点数存在细微不准确的现象,原因为同整数表达方式(存储)的不同。

 

例子:

#include<stdio.h>
int main()
{
    double i;
    for (i = 0; i != 10.0f; i += 0.1f)
    {
        printf("%.20lf\n",i);
    }
    return 0;
}

结果不会是预想中的在10.0处停止,而是不停止。

 

运行结果:

 

所以在使用时要注意该情况。

 

posted @ 2019-03-13 21:09  flyskyr  阅读(63)  评论(0)    收藏  举报