當使用REAL(KIND = 16)或REAL * 16時,我的程序有一些精度問題。有沒有辦法比精確度更高?如何創建REAL(KIND = 32)變量?
回答
REAL*32
(種類值不是直接攜帶的)將是一個256位的real
。沒有這種IEEE浮點類型。見http://en.wikipedia.org/wiki/IEEE_floating-point_standard
我不知道支持這種類型的任何處理器(編譯器)作爲擴展。另外,我沒有知道硬件是如何處理這個本地的。
在如此高的精度下,我會重新考慮算法及其穩定性。程序通常不需要四分之一(你的16字節)的精度。即使是雙倍通常也足夠了。我以單精度進行了很多計算。
最後,有一些庫支持更高的精度,但它們的使用比用不同類型參數重新編譯更復雜。見
http://crd-legacy.lbl.gov/~dhbailey/mpdist/
在一個特殊的要求:一種數字是依賴於實現的。種類16可能不存在或可能不表示IEEE 128位浮點數。在這裏看到很多問題 Fortran: integer*4 vs integer(4) vs integer(kind=4) Fortran 90 kind parameter What does `real*8` mean?等等。
我從來沒有這樣做,但再次重複相同的單詞很累人。這個問題的意圖是完全清楚的。至少在存儲大小上,REAL * 16是唯一的,事實上在我知道的所有系統上都是IEEE 128位浮點型。它始終是16個字符的實際變量 - 16個字節,儘管非標準。 –
- 1. 如何用變量%i創建變量?
- 2. 如何創建tox.ini變量
- 3. 如何創建java.sql.Date變量?
- 4. 像Real Real Recipes一樣在頂部創建自定義菜單
- 5. 如何在x86中使用pow(real,real)
- 6. 如何爲segue名稱創建變量?
- 7. 如何創建帶有全局變量
- 8. 如何創建系統範圍變量?
- 9. 如何創建MooTools的類變量名
- 10. 如何在Visual Basic中創建變量?
- 11. 如何創建jQuery的全局變量
- 12. 如何創建自然變量分配
- 13. 如何創建動態變量?
- 14. PHP codeigniter如何創建變量數組
- 15. 如何創建'OF'變量的類型?
- 16. 如何創建類的變量列表
- 17. 如何引用動態創建變量
- 18. 如何創建動態對象變量
- 19. 如何創建一個全局變量?
- 20. JavaScript引擎如何創建變量?
- 21. 如何創建本地動態變量
- 22. 如何創建一個mysql LIKE變量?
- 23. 如何創建全局變量?
- 24. 如何創建虛擬變量?
- 25. 如何爲FastReport創建pascal變量?
- 26. 如何創建範圍EnvVariable的變量?
- 27. Mule Studio如何創建全局變量
- 28. 如何爲列名創建變量
- 29. 如何在flex中創建xmllist變量?
- 30. 如何爲tomcat創建環境變量?
所有當前的Fortran編譯器都支持32位和64位浮點數。有些還支持其他尺寸。請參閱http://stackoverflow.com/questions/22362211/confusing-double-precision-real-in-fortran的答案以獲取有關如何爲變量指定類型的指導。 –
real(N)與real * N不同,不應使用。見http://stackoverflow.com/questions/3170239/fortran-integer4-vs-integer4-vs-integerkind-4和http://stackoverflow.com/questions/22362211/confusing-double-precision-real-in-fortran –