注意:我使用了Matlab标签,以防它们保持相同的精度。(据我所知,这两个程序非常相似。)
作为对我之前的一个问题()的后续,我试图确定我需要设置的精度级别(在我目前正在从Scilab代码转换的C++程序中),以模拟Scilab程序的准确性。本质上,这两个程序产生相同(或非常相似)的结果。
在使用Scilab计算浮点计算时,所维护的精度是多少?
我曾经读过(和其他几个地方),当使用C++中的浮点算术时,双数只能精确地保持在小数点16位左右,例如:
4 8 12 16
v v v v
0.947368421052631578 long double
0.9
谁能告诉我c++和matlab是否使用相同的浮点计算实现?我在C++中会得到和在Matlab中一样的值吗?
目前,我在将Matlab代码转换为C++的过程中遇到了以下问题:
Matlab: R = 1.0000000001623, I = -3.07178893432791e-010, C = -3.79693498864242e-011
C++: R = 1.00000000340128 I = -3.96890964537988e-009 Z = 2.66864907949582e-009
如果不是,区别是什么?我在哪里可以找到更多关于浮点计算实现的信息?
谢谢!