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 错误。
我是 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 错误。