2009-05-27 3 views
2

以下のM1、M2、M4への代入に後接数字「d + 0」が含まれていることを知っていますか?この情報を見つける可能性は非常に高いですか?Fortranの実数リテラル式の後置 'd + 0'


 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 
+0

@Deduplicatorなぜあなたは '本当の'タグを削除しますか?そして、猶予期間内に一部の編集が取り消された実際のタグで最近Fortranの2つの質問が変更されたのはなぜですか? –

+0

@Vla他の2つについてはわかりませんが、これは時期尚早かもしれません。メタ・ディスカッションはもう少し先に進むべきだ... – Deduplicator

答えて

9

これは「倍精度」を意味し、0は(ゼロ指数である)ゼロ番目の電源10を意味します。

コンピュータに保存された数がある 大きさと精度に限界:

は、ここで私は見つけることができるfirst referenceからの引用です。 制限は特定の コンピュータによって異なります。したがって、REAL番号には、 の有効数字だけが有効数字として表示されます( )。より有効な数字が で計算に必要な場合は、 倍精度数値を使用する必要があります。 DOUBLE PRECISION定数は 単精度REAL定数と同じ指数形式で と書かれています。 を除いて、EではなくDが 指数部からの仮数を分離しています。

そして、より良い参照番号www.fortran.comからの引用、特にF77標準がここにあります。

4.5.2倍精度定数。

倍精度の形式 定数は以下のとおりです。倍精度で 倍精度指数

続い 指数

  • 整数定数を追っ

    1. 基本実定数 倍精度定数の値 は、その定数のprの です。 ecedes プロセッサが一定の 値を近似するために使用するよりも、フォームのD.ザ 整数定数部以下Dと整数 を示した10の電源(2) 以上の数字で書かれてもよいです。

  • +0

    o__Oすぐに返事をいただきありがとうございました。私はFortran初心者向けのチャットルーム/チャンネルを探していましたが、あなたは自分のIRCクライアント使用する! –

    関連する問題