次のコードを使用してinを計算cos
しています。pi/2
Fortran
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-18
double
よりよく説明するためにさらに情報が必要な場合はお知らせください。
Extra : 私が使用しているメイン コードは、三角項を持つ物理方程式を使用しており、精度の問題があり、完全にはわかりませんが、これが原因ではないかと疑っています。したがって、上記が何らかの形で改善できるかどうかを確認したいと思います。Fortran
これを理解するのに苦労している専門家ではありません。