题目
题目概述
5.23(演示抵消错误)当处理一个很大的数字或很小的数字时候,会产生一个抵消错误。大的数字可能会略去很小的数。为了避免抵消错误,从而获得更加精确的结果,谨慎选择计算的次序。比如在计算下面的数列时,从右到左计算要比从左到右得到的结果精确:
1 + 1/2 + 1/3 + …… + 1/n
编写程序对上面的数列从左到右和从右向左计算的结果进行比较,n=50000
破题
- 浮点数无法直接比较,可以尝试用double1 - double2 < 0.001(根据对精度的要求替换为其他数字)如果以上返回true,则可以看做double1 == double2
代码
public class Test5_23 {
public static void main(