REAL*16 REAL*16 REAL*16 变量c、l、p、s、u、x和y的类型为四倍精度。变量n的类型为INTEGER。 应使用REAL*16语句或者通过适当的IMPLICIT语句显式声明这些函数的类型。 sind(x)和asind(x)等函数采用度数,而不是弧度。 如果需要使用其他任何四倍精度libm函数,可以在调用前使用$PRAGMAC(fcn) 来进行调用。有关...
多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定...
先声明类型,再定义常量。例如:real(16)::a parameter(a=1.)
如果A 为COMPLEX*16 类型,则 DBLE(A) 为A 的实部。(3’) QREAL 如果A 为REAL*16 类型,则 QREAL(A) 为A。如果A 为整数、实数或双精度类型,则 QREAL(A) 的A 有效部分的精度与 REAL*16 数据具有的精度差不多。如果A 为复数或双复数类型,则 QREAL(A) 的A 实部中有效部分的精度与 REAL*16 数据具有...
翻译过来的意思是“REAL在这个平台上是不被支持的”,估计和你的开发环境(如操作系统、编译器等)有关,查查帮助,换一种数据类型,应该就可以解决问题了。
你要的kind=16会带来问题。至于fortran程序内部的函数(例如求正余弦),应该没有什么问题,只要我们不要画蛇添足 ... 那是不是fortran内部的函数前面加个 d 都算是画蛇添足?像dsin, dcos, datan.还有dble和real的功能是不是重叠了?刚用fortran不是很了解。我现在用双精度还是四精度,我都在所用到的小数后加...
目前有 Absoft,Intel Fortran,GFortran,NAG,Lahey 等编译器支持 kind=16,不需要64位。具体请参考编译器对比:http://www.fcode.cn/codetools-28-1.html
kind=16是表示16位二进制数表达的实型吧。要得到更精确的结果,请用kind=32或kind=64。即使如此,用实数计算,很难做到你要求的严格相等!
有啊,就如上面所言real*8就是double Fortran2003提供了real*16比double精度还高,但是现在的编译器貌似大都不支持,好像IVF对此可以支持。
单双精度是相对于fortran中的实数来说的,因为单精度只有6位有效数位,在一些计算的过程中就显得精度不够高。如3.1415926那就只能显示3.141592.那对高精度的计算是显然错误的,所以就有了双精度,其有高达15位的有效位数。