#include <stdio.h>
int main(){
double i=0.0000000000000001;
for(;i>0;i+=0.0000000000000001){
}
printf("%.100lf\n%.100lf\n",i,i-1);
return 0;
} 执行的时间特别久
注意1精度与溢出的问题
2注意i是double类型不可以是int 类型
本文详细解析了一个使用双精度浮点数进行递增操作导致执行时间过长的问题,并讨论了精度与溢出的概念,强调了在编程中选择合适的数据类型的重要性。通过案例分析,读者可以理解在处理小数值时应如何避免此类问题。
#include <stdio.h>
int main(){
double i=0.0000000000000001;
for(;i>0;i+=0.0000000000000001){
}
printf("%.100lf\n%.100lf\n",i,i-1);
return 0;
} 执行的时间特别久
注意1精度与溢出的问题
2注意i是double类型不可以是int 类型

被折叠的 条评论
为什么被折叠?
&spm=1001.2101.3001.5002&articleId=39758265&d=1&t=3&u=d5256e61bfe643cb8f6ed404d921eae4)