当使用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. 像Real Real Recipes一样在顶部创建自定义菜单
- 4. 如何在x86中使用pow(real,real)
- 5. PHP codeigniter如何创建变量数组
- 6. 如何创建'OF'变量的类型?
- 7. 如何创建Thor :: Group类变量
- 8. 如何使用变量创建分页
- 9. 如何为一个变量创建Boxplot?
- 10. 如何创建自然变量分配
- 11. 如何为列名创建变量
- 12. 如何在flex中创建xmllist变量?
- 13. 如何创建系统范围变量?
- 14. 如何创建类的变量列表
- 15. 如何用jQuery创建颜色变量?
- 16. 如何创建本地动态变量
- 17. JavaScript引擎如何创建变量?
- 18. 如何创建使用VLOOKUP变量
- 19. 如何创建MooTools的类变量名
- 20. 如何创建动态对象变量
- 21. 如何创建虚拟变量?
- 22. 如何创建动态变量?
- 23. 如何在Visual Basic中创建变量?
- 24. 如何创建jQuery的全局变量
- 25. 如何创建范围EnvVariable的变量?
- 26. Mule Studio如何创建全局变量
- 27. 如何创建全局变量?
- 28. PHP:如何创建对象变量?
- 29. 如何创建一个全局变量?
- 30. 如何创建一个mysql LIKE变量?
所有当前的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 –