1

次のコードを使用してinを計算cosしています。pi/2Fortran

program precision_Fortran
  IMPLICIT  NONE
  !!integer, parameter :: dp = kind(1.0d0) !!Gives same result as line below
  integer, parameter :: dp = selected_real_kind(15, 307)
  
  Real(dp), parameter:: pi=4.0*atan(1.0)
  Real(dp) :: angle

  angle = cos(pi/2.0)
  
  write(*,*)'pi = ', pi
  write(*,*)'angle = ', angle
     
end program precision_Fortran

gfortranと を使用してコンパイルしftn95ました。両方から、出力は

 pi =    3.1415927410125732
 angle =   -4.3711390001862412E-008

ここでより良い精度を得るにはどうすればよいangleですか? たとえば、を使用したすべての宣言について、 のC++順に表示されます。E-18double

よりよく説明するためにさらに情報が必要な場合はお知らせください。

Extra : 私が使用しているメイン コードは、三角項を持つ物理方程式を使用しており、精度の問題があり、完全にはわかりませんが、これが原因ではないかと疑っています。したがって、上記が何らかの形で改善できるかどうかを確認したいと思います。Fortranこれを理解するのに苦労している専門家ではありません。

4

0 に答える 0