【发布时间】:2012-11-12 22:30:22
【问题描述】:
可能重复:
Precision of multiplication by 1.0 and int <=> float conversion
我正在使用 armadillo c++ 线性库,但难以获得一致的结果。当我打印向量 freq 时,这些是正确的值,但是当我将它与标量值相乘时,它是错误的。即使使用频率 * 1.0!任何建议都会很棒。
mat::fixed<621,1>freq;
2.0 * arma::datum::pi * freq
【问题讨论】:
-
你能把你打印出来的代码贴出来吗?
-
我尝试了两种方法:mat::fixed freq cout
-
在计算中使用
freq之前是否对其进行了初始化?否则就是垃圾。 -
mat::fixed数据; mat::固定时间;垫::固定频率; matlab2arma(频率,freq_ptr); cout
-
是的,我正在初始化频率。 Freq 具有正确的值。即使我乘以 freq * 1.0,它也会给出不正确的值