双变量的算术运算是否保持整数值?

Mic*_*Sim 14 java math precision

假设我有两个存储在double变量中的整数值,例如:

double x = 100.0;
double y = 7.0;
Run Code Online (Sandbox Code Playgroud)

我可以安全地假设对这两个产生整数结果的双变量的任何算术运算都会返回一个精确的整数值(作为a double)吗?也就是说,例如所有:

x + y = 107.0
x - y = 93.0
x * y = 700.0
Run Code Online (Sandbox Code Playgroud)

返回确切的整数值,还是会出现一些准确性问题?喜欢x*y699.99995左右?

一般问题:对于两个保存整数值的双变量的任何算术运算是否都会产生整数结果,这将返回精确的整数值(作为double)?

我在Java上下文中问这个问题,但我认为它在其他语言中也是如此.

Sve*_*ach 12

只要操作的整数结果可以精确地表示为double,就会得到精确的结果,但只要整数结果超过尾数中可用的位数(即52 + 1 = 53位),它将四舍五入.