직장에서 우리는 MSVS2010 Ultimate을 가지고 있으며 실제 수치를 사용하여 철저한 시뮬레이션을 실행하는 프로그램을 작성하고 있습니다. 나는 사소한 반올림 오류가 발생하고 있으며 알고리즘이 가능한 한 안정적으로 유지되도록 합리적인 조치를 취했습니다.VS2010에서 긴 double 형의 Windows C++ 응용 프로그램 컴파일
128 비트 4 배 정밀도 부동 소수점 숫자로 변환하고 싶습니다 (long double, right?). 얼마나 차이가 나는지 확인하고 싶습니다.
나는 long double
와 double
의 모든 관련 인스턴스를 교체 다시 컴파일하고 다시 내 더미 시뮬레이션을 실행하지만, 이전과 정확히 같은 결과를가했습니다.
/ZI/NOLOGO/W3/WX-/OD/Oy-/D "_MBCS"/ GM/EHsc은/RTC1/GS/fp : 정밀/Zc : wchar_t/Zc : forScope /Fp"Debug\FFTU.pch "/ Fa"디버그 \ "/ Fo"디버그 \ "/Fd"Debug\vc100.pdb"/ Gd/analyze -/errorReport : queue
My dev CPU는 Core2 Duo T7300이지만 대상 컴퓨터는 i7이됩니다. 두 설치 모두 Windows 7 64 비트입니다.
Visual C++에서 'long double'은 'double'과 동일하므로 결과가 동일한 http : // msdn입니다 Microsoft.com/ko-kr/library/s3f49ktz (v = VS.100) .aspx –
참조. Windows의 VS2010에서 128 비트 4 배 정밀도를 얻을 수있는 다른 방법이 있습니까? (GMP와 같은 타사 라이브러리를 사용하지 않고 Windows.h는 괜찮습니다.) – Ozzah
CPU가 128 비트 부동 소수점을 제공한다고 생각하십니까? x87은 32, 64 및 80 비트만 지원합니다 (저는 주제에 대해 전문가가 아니지만 SSE가 uberwise 부동 소수점 기능을 제공한다고 생각하지 않습니다). –