主题:数值误差问题
我程序里有下面这段代码
Xw(I)-(Elem(I)-1)*EL
变量定义如下
Integer( Kind=4 ) Elem
Real ( Kind=8 ) X_elem
Real ( Kind=8 ) Xw
Real ( Kind=8 ) El
Xw(1)= 49.8000000000000
Elem(1)= 249
El = 0.200000000000000
Xw(I)-(Elem(I)-1)*EL= 0.199999999999996
但是结果应该是0.2
请问这是为什么。
Xw(I)-real(Elem(I)-1)*EL
这么写,也是同样的结果
Xw(I)-(Elem(I)-1)*EL
变量定义如下
Integer( Kind=4 ) Elem
Real ( Kind=8 ) X_elem
Real ( Kind=8 ) Xw
Real ( Kind=8 ) El
Xw(1)= 49.8000000000000
Elem(1)= 249
El = 0.200000000000000
Xw(I)-(Elem(I)-1)*EL= 0.199999999999996
但是结果应该是0.2
请问这是为什么。
Xw(I)-real(Elem(I)-1)*EL
这么写,也是同样的结果