浮点乘法是可交换的吗?

use*_*020 3 algorithm floating-point multiplication

由于精度有限,浮点数并不准确。我的问题是:在浮点数计算机计算中,乘法是可交换的吗?

例如

double a = ..;
double b = ...;
double c = a * b;
double d = b * a;
if (c == d)
   cout << "Yes, great floating";
Run Code Online (Sandbox Code Playgroud)

Kev*_*vin 7

根据维基百科,是的,浮点乘法是可交换的。

虽然浮点加法和乘法都是可交换的(a + b = b + a 和 a×b = b×a),但它们不一定是结合的。也就是说,(a + b) + c 不一定等于 a + (b + c)。