假设我有两个整数值存储在 double
变量中,例如:
double x = 100.0;
double y = 7.0;
我可以安全地假设,在这两个双精度变量上执行任何会产生整数结果的算术运算,都将返回一个精确的整数值(作为 double
)吗?也就是说,例如以下所有内容是否都是正确的:
x + y = 107.0
x - y = 93.0
x * y = 700.0
返回的是确切的整数值,还是会存在精度问题?例如 x*y
得到的结果为 699.99995
等。
一般性问题:对于两个保存整数值的双精度变量进行任何算术运算得到整数结果时,是否将返回确切的整数值(作为双精度)?
我在Java环境下提出这个问题,但我认为其他语言也类似。