1

我正在使用以下代码cos计算pi/2in 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.

如果需要更多信息来更好地解释它,请告诉我。

额外:我正在使用的主要代码,物理方程具有三角项,存在精度问题,我不完全确定,但我怀疑是因为这个。所以,想检查一下上面是否可以以某种方式改进。不是专家Fortran如此努力地弄清楚这一点。

4

0 回答 0