Fortran真实文字表达式中的后缀'd + 0'

时间:2009-05-27 03:31:57

标签: floating-point fortran notation double-precision

有没有人知道后缀“ d + 0 ”在下面的M1,M2和M4的作业中是什么意思,或者网上是否有任何资源或者很可能找到的书籍这个信息?


      subroutine plot( t, x, p, q, nga, nt, wron, 
     &                 ngq, gq, ngaq1, ngaq2, gaq, rwh, iwh )
        implicit none

        integer*4 nga, nt, ngq, ngaq1, ngaq2, iwh(*)

        real*8 t, x(*), p(*), q(*), wron(nga,*),
     &         gq(ngq,*), gaq(ngaq1,ngaq2,*), rwh(*)

        real*8 M1, M2, M3, M4, mr, mst, h3, Tc
        integer*8 iflag

c       DISCRETIZE1( Tc, rwh, iwh )

        M1 = 0.1362d+0
        M2 = 0.09806d+0
        M3 = M1 + M2
        M4 = 0.236d+0

        mr = M1*x(1) + M2*x(2) + M3*x(3) + M4*x(4)
        mst =  M1*q(1) + M2*q(2) + M4*q(3)

        call mess3( t, x, h3, p, q, rwh, iwh, iflag )

        write (10,100) t, x(1), x(2), x(3), x(4), Tc, h3, mr-mst
100     format( e20.10, 7(1x,e20.10) ) 

  end

1 个答案:

答案 0 :(得分:9)

表示“双精度”,+ 0表示第10次幂(零是指数)。

以下是first reference我可以找到的引用:

  

存储在计算机中的号码是   数量和精度有限。   限制取决于具体情况   电脑。因此,REAL数字只有   一定数量的重要   数字。如果是更有效的数字   然后,计算所需   必须使用双精度数字。   写入双精度常数   以与...相同的指数形式   单精度REAL常数除外   用D代替E分离   来自指数的尾数。

以下是更好的参考文献引用www.fortran.com,特别是F77标准。

  

4.5.2双精度常数。

     

双精度的形式   常数是:

     
      
  1. 基本实常数   然后是双精度   指数
  2.   
  3. 整数常量后跟   双精度指数
  4.         

    价值   双精度常数是   先前常数的乘积   D和十的力量表明了   由D.之后的整数   形式(2)的整数常量部分可以   写的数字比a更多   处理器将用来近似   常数的值。