假设我想定义pi。我有一个文件pi.f
执行以下操作:
PROGRAM PI_program
DOUBLE PRECISION PI
PI = 3.1415926535897932
print *, pi
END
然后我编译:
fortran -free-form pi.f
并运行输出:
./a.out
返回
3.1415927410125732
即。关闭,但与最初定义的数字不同。
如果我想进行三角计算,这是个问题,例如取cos(pi / 2) - 由于渐近线,答案的差异是10 ^ 9的顺序。
在Fortran中是否有办法定义pi,以便不丢失精度?