【问题标题】:Create Notation for a Fortran Kind constants?为 Fortran 种类常量创建表示法?
【发布时间】:2026-01-12 12:20:06
【问题描述】:

我可以在 Fortran 中为我正在处理的变量类型创建自己的符号吗?如果我正在处理 KIND 32 的 Fortran REAL 变量,我可以为它创建符号,如 Double 的“D”和 Quad 的“Q”,同时声明该 KIND 的常量。我可以在声明我的种类的常量时用我自己的字母说“U”来创建变量吗?

【问题讨论】:

  • 我完全不清楚你想问什么。一些示例语法(即使您知道它不正确)可能会有所帮助。
  • 如果我们用一些常量(比如一个)声明类型为 8 的实变量,那么我们使用:'var = 1.D0'。这里 'D' 用于声明具有双常量的双变量。如果我正在处理 32 类变量,我想用一些字母声明常量(一个),比​​如'var = 1.U0'。有可能吗?
  • 那么请参阅弗拉基米尔的回答。另请注意 real( 8 ) 不可移植,不保证能达到您的预期,甚至不保证您的编译器支持它。使用 iso_fortran_env 中的常量和弗拉基米尔的回答中概述的方法。
  • 谢谢@IanBush

标签: types fortran notation


【解决方案1】:

Fortran 对数字(和其他一些)文字使用后缀

1_int32  
4.2e5_real64

其中int32real64 是种类常量。

您不能重新定义用于求幂的字母。它是 E 或 D(双精度)。 Q 是非标准的。

【讨论】:

  • 问的不是variables 不是constants吗?
  • @francescalus 确实如此,但在初学者的问题中经常出现命名不一致的情况。我假设他们想用这样的常量定义某个变量的值。等待澄清通常更好,但我在这里相当确定。如果没有,我会删除。
  • 我认为是隐式的这种或一些可怕的(ab-)使用。因此要求举例。