Fortran 双精度浮点数的精度不高,怎么回事?
本人打算用Fortran做一些数值计算,由于要多次用到三角函数,而且处理的数字都不大,所以对数字的精度有比较高的要求。我测试了一下Fortran 双精度浮点数的精度,发现它只能精确显示到小数点后8位啊,有图如下:程序运行后的输出如下:
而用C语言编的程序,输出如下:
从这两个程序的输出来看,Fortran浮点数的精度比不上C啊。不知道是我编写的问题,还是Fortran自身的问题,有大佬可以指教下吗? 谢谢了!
浮点数默认为单精度
改成这样就好了
a=4.0d0/9或者a=4.0_8/9
gfortran -fdefault-real-8 example1.f90这样也可以的
weixing1531 发表于 2022-1-19 01:08
浮点数默认为单精度
改成这样就好了
a=4.0d0/9或者a=4.0_8/9
谢谢 大佬! fcode 发表于 2022-1-19 08:05
gfortran -fdefault-real-8 example1.f90这样也可以的
谢谢 大佬!
页:
[1]