1.在Fortran77中是什么意思

What does 1. mean in Fortran77

我是 Fortran 的新用户。我试图理解的 Fortran77 .for 文件在方程式中一直使用 1.。这是否仅仅意味着它是 1 的向量而不是整数?非常感谢。

. 只是强制编译器将其视为 REAL 类型(而不是 INTEGER 类型)。由于 FORTRAN 处理混合模式表达式(具有 INTEGER 和 REAL 类型的表达式)的方式,执行这些类型的操作时必须小心。如果表达式混合了两种类型,则结果将为 REAL,但是子表达式的计算顺序会有所不同。

例如:

9 / 2 * 3.0 = 12.0

因为 9 / 2 被评估为整数运算,因此 9 / 2 = 4.

改变顺序会影响结果:

3.0 * 9 / 2 = 13.5

因为子表达式3.0 * 9先求值,包含一个REAL,强制结果为REAL。

注意:您可以使用 .:

解决第一个示例的问题

9. / 2 * 3.0 = 13.5

最好要么确保所有操作数都是 REAL,要么都是 INTEGER,以确保避免 rounding/truncation 错误。