gfortran - 在 Fortran 中使用 selected_real_kind 来达到所需的最小精度

标签 gfortran

我在 Mac OS X 10.8 上使用 gfortran 4.7.1 使用特定精度编译一个简单的程序:

program simple
  implicit none
  integer, parameter :: l = selected_real_kind(18,100)
  real(kind=l) :: myNum
  myNum = 0.123456789123456789
  print '(f18.12)', myNum
end program simple

当我编译并运行时,我得到0.123456791043,这显然表明我没有达到我要求的精度。

但是,如果我使用 -fdefault-real-8 进行编译,我会得到正确的答案。显然,我可以继续并使用该选项,但我不禁想知道这是否是一个错误,或者我错过了一些理由。当 selected_real_kind 意图是允许代码指定精度时,我真的必须在代码本身之外指定我的实际大小吗?

最佳答案

抱歉。您必须将 _l 添加到号码分配中。

关于gfortran - 在 Fortran 中使用 selected_real_kind 来达到所需的最小精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11962810/

相关文章:

fortran - 数组构造函数中的不同字符长度(3/4),如何修剪字符串 - fortran

fortran - gfortran 不适用于 osx 优胜美地

loops - Gfortran -Wuninitialized 标志在 do 循环中丢失变量

Fortran:如何将值 255 存储到一个字节中?

error-handling - 我使用 Simply Fortran,但不能在那里包含模块

arrays - Fortran 90 - "Segmentation fault - invalid memory reference"具有可扩展的 3D 数组

Fortran 打印语句格式,空格太多

matrix - 翻转矩阵 fortran

fortran - gfortran 找不到那里的库

Fortran undefined reference 错误