gpt4 book ai didi

fortran - Fortran 中的实数同时使用科学记数法和下划线类型说明符

转载 作者:行者123 更新时间:2023-12-02 18:46:10 25 4
gpt4 key购买 nike

在 Fortran 中使用科学记数法表示浮点文字非常简单:

1.5d-10

意味着 double (无论在当前 Fortran 编译器设置下意味着什么)浮点值,近似于 1.5*10^-15

但是,指数表示法和浮点类型说明符的融合有点问题。当希望它具有 C_DOUBLE 类型时,如何声明该浮点文字?

我知道这是一个有点挑剔的问题,但在某些情况下 double 可能与 C_DOUBLE 不同。

最佳答案

真正的文字可以通过以下任何形式指定:

  • 1.2
  • 1.2e0
  • 1.2d0
  • 1.2_kind
  • 1.2e0_kind

最后一个是使用种类说明符和指数的示例。因此,具体到这个问题:1.5e-15_C_DOUBLE

当然可能存在 1.5d-151.5e-15_C_DOUBLE 不同的情况。 double 和 real(C_DOUBLE) 的类型分别由 Fortran 和配套的 C 编译器选择。

允许通过编译器标志将单精度和 double 文字常量提升为更高类型的编译器不会触及 real(C_DOUBLE)

<小时/>

对于没有小数部分的实数值,还有其他可用的形式:

  • 1.
  • 1e0
  • 1.e0
  • 1d0
  • 1.d0
  • 1.e0_kind
  • 1e0_kind

也就是说,小数部分是可选的,如果给出指数,则小数分隔符也是可选的。但请注意,1 是整数文字,而 1e0 及类似内容是实数。

关于fortran - Fortran 中的实数同时使用科学记数法和下划线类型说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49956241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com