我試圖端口_controlfp(_CW_DEFAULT,0xffffffff);從WIN32到Mac OS X/Intel。我完全不知道如何移植這個指令......而你呢?謝謝!如何在MacOSX上設置C++的雙精度?
3
A
回答
5
嘗試section 8.6 of Gough's Introduction to GCC,它演示了x86 FLDCW指令。但是,如果您告訴我們爲什麼需要它,它會有所幫助 - 如果您希望雙打是IEEE-754 64位雙打,最簡單的方法是使用-msse -mfpmath = sse進行編譯。
1
你控制着什麼精密元件?
的
_control87
函數獲取和設置浮點控制字。浮點控制字允許程序更改浮點數學包中的精度,舍入和無窮大模式。您還可以使用_control87
來屏蔽或取消屏蔽浮點異常。如果掩碼的值等於0,則_control87
將獲得浮點控制字。如果掩碼非零,則設置控制字的新值:對於掩碼中的任何位(等於1),新位中的對應位用於更新控制字。換句話說,fpcntrl = ((fpcntrl & ~mask) | (new & mask))
其中fpcntrl是浮點控制字。
請注意關鍵字「庫」。此功能正在操縱Mac上可能不存在的Microsoft庫。
我建議如下:
- 控制上 浮點芯片的Mac自己
- 或者使用微軟的編譯器爲Mac
- 或者找移動 浮點控制的方法更多 通用點在您的程序中。
我可以給出的最好建議是儘可能多地將與標準和平臺或庫特定問題保持一致的代碼降到最低。對於那些涉及平臺特定功能的功能,請將它們移動到它們自己的源文件/翻譯單元中。創建這些功能的副本,每個平臺一個。讓鏈接器決定使用哪個。
祝你好運。
相關問題
- 1. 設置精度爲雙重
- 2. 如何設置精度毫秒在C#
- 3. 如何保持雙的精度在C++
- 4. C#高雙精度
- 5. 如何在MathNet.Symbolics中設置雙精度評估函數?
- 6. 設置並獲取雙精度數組
- 7. 如何以精確的精度在Python中打印雙精度?
- 8. 精度雙Objective-C中的
- 9. 如何轉換黑莓中的雙精度雙精度?
- 10. C++使用長雙精度使用雙精度
- 11. 設置精度
- 12. 在JAVA雙精度
- 13. 如何在windows中用c/C++編寫雙精度型文件?
- 14. 如何設置str(numpy.float64)的精度?
- 15. Clojure - 如何設置較低的精度
- 16. 如何保持雙的精度在C++中的Visual Studio 2008
- 17. 功能科爾(雙精度,雙精度)不存在 - PostgreSQL的
- 18. C++如何寫一個.dat文件的雙精度的全精度
- 19. 在SQLite中存儲雙精度值:如何確保精度?
- 20. 如何在CUDA中輕鬆切換單精度和雙精度?
- 21. 在C++中減少雙精度範圍
- 22. 如何在iOS上以全精確度打印雙精度數據?
- 23. 如何在C++中將精度設置爲100位數?
- 24. 如何在數組中接受並輸出雙精度和雙精度數?
- 25. 如何轉換在c中的sql類型雙精度#
- 26. 雙精度值
- 27. 雙精度?
- 28. IEEE雙精度
- 29. Java的雙精度
- 30. Postgres的雙精度