Fortran Coder

标题: Fortran数值精度 [打印本页]

作者: 努力学习Fortran    时间: 2021-10-27 21:31
标题: Fortran数值精度
各位老师们,想问一下在Fortran中是不是变量都尽量定义为双精度比较好?期待老师的见解

作者: fcode    时间: 2021-10-27 21:53
既然语言的开发者,设计了单精度,双精度。那么一定是需要根据需求来决定用哪一个的。(否则语言的开发者何必设计多种精度呢?)

单精度能满足要求就用单精度。满足不了就用双精度,甚至(某些编译器)还能用四精度。

双精度肯定要更耗时,占用内存更多,但是精度也更高。

如果你的程序计算量不大,涉及数据也不多。那也可以直接上双精度(反正多占的内存和效率影响也不大)。
作者: 努力学习Fortran    时间: 2021-10-28 10:19
fcode 发表于 2021-10-27 21:53
既然语言的开发者,设计了单精度,双精度。那么一定是需要根据需求来决定用哪一个的。(否则语言的开发者何 ...

明白,谢谢老师的指教
作者: xxdw    时间: 2021-11-12 00:31
fcode 发表于 2021-10-27 21:53
既然语言的开发者,设计了单精度,双精度。那么一定是需要根据需求来决定用哪一个的。(否则语言的开发者何 ...

雪球雪球,那这样的话为了保证计算的精度是不是就可以在parameter或者其他的公式中涉及的数字全部都加上d0呢。
作者: fcode    时间: 2021-11-12 08:16
xxdw 发表于 2021-11-12 00:31
雪球雪球,那这样的话为了保证计算的精度是不是就可以在parameter或者其他的公式中涉及的数字全部都加上d ...

要达到双精度的效果,需要:
1. 存储它的变量类型是双精度的
2. 给他赋值的表达式,里面所有参与计算的项,都是双精度的。

如果仅仅是 parameter 或者数字是双精度的,也没用。必须参与计算的变量们也是双精度的。

双精度,单精度要根据需求而确定。而不是一股脑的全部加 d0 变成双精度。
作者: xxdw    时间: 2021-11-12 09:16
fcode 发表于 2021-11-12 08:16
要达到双精度的效果,需要:
1. 存储它的变量类型是双精度的
2. 给他赋值的表达式,里面所有参与计算的项 ...

好的,明白了。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2