我正在将程序从 Scilab 代码转换为 C++,对我来说保持 Scilab 产生的结果至关重要。
我知道 Scilab 使用 IEEE 754 双精度,并且 C++ 双精度(尽管不是必需的)以类似的方式实现。
如果我试图完全匹配 Scilab 的结果,那么在 C++long double
中使用更高的精度(例如)是一个坏主意吗?
例如: Scilab 是否有可能计算出一个数字为 0.1234,而在 C++ 中使用长双精度数时,该数字为 0.12345。因此可能会产生差异,导致两个程序产生不同的结果(尽管在 C++ 中更准确)。