在数值计算方法的书中有一道题目让计算求和n的负2次方 n的范围是1-10000 约等于1.644834 1.644725
但我在实际计算中分别让n从1到10000和n从10000到1,答案都是1.644834,并没有出现误差,这是怎么回事?
是代码的问题吗?
在数值计算方法的书中有一道题目让计算求和n的负2次方 n的范围是1-10000 约等于1.644834 1.644725
但我在实际计算中分别让n从1到10000和n从10000到1,答案都是1.644834,并没有出现误差,这是怎么回事?
是代码的问题吗?
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
1 回答3.3k 阅读
1.644834 1.644725 是用float计算来出来。精度低。
你的代码是用double算出来的,精度高。
用double计算,两次计算的数据,也会不一样。
但你的代码显示一样,是因为你是按float的格式输出double的数据。
如果你输出double所有的小数,结果就会不一样。
就是这样的数据。
1.64483407184805963
1.64483407184806518
最后向几位不一样。
如果用float,就是这样的数据
1.64483404159545898
1.64472532272338867
附c++,double计算的代码