Fortran Coder

查看: 6457|回复: 5
打印 上一主题 下一主题

[讨论] Fortran数值精度

[复制链接]

2

帖子

1

主题

0

精华

新人

F 币
23 元
贡献
10 点
跳转到指定楼层
楼主
发表于 2021-10-27 21:31:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位老师们,想问一下在Fortran中是不是变量都尽量定义为双精度比较好?期待老师的见解
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

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

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

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

如果你的程序计算量不大,涉及数据也不多。那也可以直接上双精度(反正多占的内存和效率影响也不大)。

2

帖子

1

主题

0

精华

新人

F 币
23 元
贡献
10 点
板凳
 楼主| 发表于 2021-10-28 10:19:04 | 只看该作者
fcode 发表于 2021-10-27 21:53
既然语言的开发者,设计了单精度,双精度。那么一定是需要根据需求来决定用哪一个的。(否则语言的开发者何 ...

明白,谢谢老师的指教

24

帖子

7

主题

0

精华

熟手

F 币
143 元
贡献
88 点
地板
发表于 2021-11-12 00:31:42 | 只看该作者
fcode 发表于 2021-10-27 21:53
既然语言的开发者,设计了单精度,双精度。那么一定是需要根据需求来决定用哪一个的。(否则语言的开发者何 ...

雪球雪球,那这样的话为了保证计算的精度是不是就可以在parameter或者其他的公式中涉及的数字全部都加上d0呢。

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

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

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

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

双精度,单精度要根据需求而确定。而不是一股脑的全部加 d0 变成双精度。

24

帖子

7

主题

0

精华

熟手

F 币
143 元
贡献
88 点
6#
发表于 2021-11-12 09:16:11 | 只看该作者
fcode 发表于 2021-11-12 08:16
要达到双精度的效果,需要:
1. 存储它的变量类型是双精度的
2. 给他赋值的表达式,里面所有参与计算的项 ...

好的,明白了。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-1 00:52

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表