在Fortran中使用科学记数法和下划线类型说明符来表示真正的文字

时间:2018-04-21 13:25:21

标签: fortran double fortran-iso-c-binding fortran2003

在Fortran中使用科学记数法表示浮点文字是很容易的:

1.5d-10

意味着双精度(在当前的Fortran编译器设置下意味着什么)浮点值近似1.5*10^-15

然而,指数表示法和浮点类型说明符的融合有点问题。当人们希望它具有C_DOUBLE的类型时,如何声明这个浮点文字?

我知道这是一个挑剔的问题,但有时双精度与C_DOUBLE不一样。

1 个答案:

答案 0 :(得分:2)

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

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

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

肯定会出现1.5d-151.5e-15_C_DOUBLE不同的情况。精度和real(C_DOUBLE)的类型分别是Fortran和伴随C编译器的选择。

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