在VS2010中使用长双精度编译Windows C ++应用程序

时间:2011-09-21 23:05:07

标签: c++ windows visual-studio-2010 precision long-double

在工作中,我们有MSVS2010 Ultimate,我正在编写一个程序,使用实数运行详尽的模拟。我得到了非平凡的舍入错误,我已经采取了合理的措施来确保我的算法尽可能在数值上稳定。

我想切换到128位四倍精度浮点数(long double,right?),看看它有多大差异。

我已将double的所有相关实例替换为long double,重新编译,然后再次运行我的虚拟模拟,但完全相同。

根据我在C / C ++中的项目属性页面,这些是我的(调试)编译器选项:

/ ZI / nologo / W3 / WX- / Od / Oy- / D“_MBCS”/ Gm / EHsc / RTC1 / GS / fp:precise / Zc:wchar_t / Zc:forScope /Fp"Debug\FFTU.pch “/ Fa”Debug \“/ Fo”Debug \“/ Fd "Debug\vc100.pdb”/ Gd / analyze- / errorReport:queue

我的开发CPU是Core2 Duo T7300,但目标机器将是i7。这两个安装都是Windows 7 64位。

1 个答案:

答案 0 :(得分:2)

您可以切换到非Microsoft编译器,例如gcc,Borland或Intel。这些都将long double识别为80位扩展精度,即8087的原生内部格式。