c语言编程 用两种不同的顺序,计算求和n的负2次方 n等于1-10000 约等于1.644834 1.644725 分析其误差的变化

c语言编程 用两种不同的顺序,计算求和n的负2次方 n等于1-10000 约等于1.644834 1.644725 分析其误差的变化。 两种顺序是for(i=1;i<10001;i++) && for(i=10000;i>0;i--) 何种顺序误差小 为什么

for(i=10000;i>0;i--) 误差小,因为计算机中浮点数是用 尾数*2的指数 来表示,尾数相当于有效数字,它的长度是有限的,所以一开始加的数比较小,存累加和的变量sum和1.0/i/i 的数量级接近,误差就小。
如果一开始就加了很大的数,到后面加很小的数基本上都被忽略的,你想1e30+1.5555,假设有效数字为8位,那结果可能还是1e30
温馨提示:答案为网友推荐,仅供参考
相似回答