在工作中,我們有MSVS2010旗艦版,我正在編寫一個程序,它使用實數運行詳盡的模擬。我遇到了不小的舍入錯誤,我已經採取了合理的步驟來確保我的算法儘可能在數值上穩定。在VS2010中編譯Windows C++應用程序與長雙打
我想切換到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:隊列
我的開發CPU是Core2 Duo T7300,但目標機器將是一個i7。這兩個安裝都是Windows 7 64位。
使用Visual C++,'long double'與'double'相同,因此爲什麼結果是相同的http:// msdn .microsoft.com/en-us/library/s3f49ktz(v = VS.100).aspx –
我明白了。有沒有其他方法可以在Windows中的VS2010中獲得128位四倍精度? (不使用GMP等任何第三方庫,但是Windows.h仍然可以)。 – Ozzah
你認爲你的CPU提供128位浮點嗎? x87只支持32,64和80位(我不是這方面的專家,但我不認爲SSE提供任何uberwise浮點功能)。 –