相关文章推荐
活泼的牛肉面  ·  Perl常用语法 - Rangle - 博客园·  1 年前    · 
火星上的回锅肉  ·  与文字文档ContentControl相关的 ...·  1 年前    · 
爱听歌的夕阳  ·  python - ...·  1 年前    · 
至今单身的伤痕  ·  【原创】对于访问IIS元数据库失败的解决(续 ...·  1 年前    · 
旅行中的伏特加  ·  记录一次Java递归调用导致java.lan ...·  1 年前    · 
Code  ›  fortran中指数函数的DEXP或EXP?开发者社区
https://cloud.tencent.com/developer/ask/sof/108917473/answer/133388959
睿智的弓箭
11 月前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问

问 fortran中指数函数的DEXP或EXP?

Stack Overflow用户
提问于 2010-01-12 09:36:17
EN

我有两个非常简短的问题:

我刚读到 DEXP() 是 EXP() 的古体。这是否意味着不应该再使用它?我一直认为 DEXP() 是相当于 EXP() 的双精度。

指数函数的范围是多少?它依赖于编译器吗?

3 36.3K 0 票数 15
EN
fortran

Stack Overflow用户

回答已采纳

发布于 2010-01-28 11:57:01

问题1:

在现代的Fortran中,使用泛型函数(如EXP() )总是比使用过时的类型特定的等价物(如DEXP() )更好。

在Fortran的旧版本中(在FORTRAN 77之前),每种数据类型都需要一个不同的函数。因此,如果需要指数函数,则需要:单精度数字的EXP(),双精度数字的DEXP(),复数的CEXP()。Fortran现在有了函数重载,所以一个函数可以用于任何标准类型。

问题2。

原则上,指数的可能范围可以取决于处理器和编译器。然而,大多数现代处理器和编译器将使用IEEE标准。

如果需要,可以在声明变量时指定所需的变量范围。要使用的函数是 SELECTED_REAL_KIND([P,R]) 。

例如,假设您要确保 x 的类型是十进制精度至少为10位,十进制指数范围至少为100。

代码语言: javascript
复制
INTEGER, PARAMETER :: mytype = SELECTED_REAL_KIND(10, 100)
REAL(KIND=mytype) :: x

有关更多信息: 仁爱

在实践中,如果您正在编写一个要求给定精度的程序,并且该程序可以在异国或旧系统上运行,那么以这种方式定义您的类型是一个非常好的主意。这里显示了一些常见的定义: 实精度

票数 21
EN
查看全部 3 条回答
页面原文内容由 Stack Overflow 提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2047922

复制
相关文章

Copyright © 2013 - 2024 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

 
推荐文章
活泼的牛肉面  ·  Perl常用语法 - Rangle - 博客园
1 年前
火星上的回锅肉  ·  与文字文档ContentControl相关的API_智能媒体管理(IMM)-阿里云帮助中心
1 年前
爱听歌的夕阳  ·  python - minimalmodbus read data bits - Stack Overflow
1 年前
至今单身的伤痕  ·  【原创】对于访问IIS元数据库失败的解决(续)_51CTO博客_无法访问数据库 objectexplorer
1 年前
旅行中的伏特加  ·  记录一次Java递归调用导致java.lang.StackOverflowError错误-阿里云开发者社区
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号