我試圖端口_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. 如何在Objective-C中設置精度
- 3. 如何設置精度毫秒在C#
- 4. 如何保持雙的精度在C++
- 5. 在LocationListener中設置雙精度值
- 6. C上的雙精度操作C
- 7. 的java設置雙精度值格式
- 8. 如何在Derby數據庫的雙列中設置精度?
- 9. C#高雙精度
- 10. 在MacOSX上設置SLIME
- 11. 如何在MathNet.Symbolics中設置雙精度評估函數?
- 12. 將雙精度值設置爲0
- 13. 設置並獲取雙精度數組
- 14. 如何以精確的精度在Python中打印雙精度?
- 15. 精度雙Objective-C中的
- 16. Objective C - 如何將雙精度轉換爲長精度
- 17. 如何轉換黑莓中的雙精度雙精度?
- 18. 如何在大型C++程序中爲所有雙精度型數字設置小數精度
- 19. 如何在C/C++中高效地計算雙精度到兩精度的精度?
- 20. C++使用長雙精度使用雙精度
- 21. 雙精度括號用C
- 22. 雙精度丟失C++
- 23. 雙精度丟失C#
- 24. 設置精度
- 25. 單精度和雙精度
- 26. 雙精度10點精度
- 27. C++雙/長雙精度行爲
- 28. 司在雙精度
- 29. 在JAVA雙精度
- 30. 如何在windows中用c/C++編寫雙精度型文件?