给定双精度值:
double a
double b
b < a
如果:
double c = a - b;
double d = c + b
那么双数是否保证:
d == a ?
例子:
double c = 20.0d - 2.0d;
double d = c + 2.0d;
d 将再次等于 20.0d 是真的吗?所以总的来说,我问的是如果我减去并添加相同的双倍,它仍然是相同的值吗?这只是 a=20.0d 和 b=2.0d 的一种情况。对于每个双精度值,我都需要确保这一点。
我试过这样的例子:
double s = 4.8d;
System.out.print(s + "\n");
s -= 0.4d;
System.out.print(s + "\n");
s += 0.4d;
System.out.print(s + "\n");
对于这个例子,结果符合我的期望:
4.8
4.3999999999999995
4.8
所以这就是我需要的。
谢谢。