for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;变量x的值为什么是可以远大于60?

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 23:05:24
for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;变量x的值为什么是可以远大于60?
xAO0JA[ V-#<8P". S1fNcBGL1L<zzylכNyв%X RU7%MgMOyq—_ Cȓ*3MlhkV\NaD\ }MDd"AU"Р?W\L 8ouK{<Ӊʰ d#^ \[=u?b5EeգLT/Wimp/ 

for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;变量x的值为什么是可以远大于60?
for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;
变量x的值为什么是可以远大于60?

for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;变量x的值为什么是可以远大于60?
实数判断时候有精度问题,比如你认为 x == 60 的时候,其实可以是 x == 60.00000000000000001 .
所以浮点数判断相等的时候要允许有误差,可以取一个较小的浮动值,比如
fabs(x - 60) < 1e-10