FORTRAN 77 除以零行为

标签 fortran fortran77 divide-by-zero

一段时间以来,我一直致力于将旧的 FORTRAN77 程序重新设计为 Python。不过,我遇到了一个问题:当除以零时,FORTRAN 程序似乎只是继续处理数据而没有问题。然而,不出所料,它会导致 Python 出现问题。我无法在 F77 的任何官方 channel 上找到关于此的讨论,而且我只有我正在翻译的程序的旧版本源代码,我无法编译。

TL;DR:对于以下情况,F77 如何处理被零除?:

  1. 真正的部门
  2. INT部门
  3. 分子也为零(例如0./0.)

最佳答案

是的,当遇到被零除错误时,我也有不执行任何操作的代码。通常,程序员有责任确保结果符合预期(目标变量的值未更改)或引发错误等。换句话说,您需要检查任何除法运算是否存在可能的零除数。现代操作系统在被零除时抛出一个内部异常(如果系统在这种情况下暂停,则将 NAN 分配给目标变量),大多数较旧的 Fortran 代码被编写成被零除无关紧要。

关于FORTRAN 77 除以零行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59124365/

相关文章:

c - 如何在C程序中使用Fortran共享库?

控制 MPI_COMM_SPAWN 的节点映射

ios - 是否可以为 iPad 编译 Fortran 代码?

sql - 案例陈述和答案的除法始终为零

java - 为什么除以零是一个不可恢复的问题?

c# - 在 C++ 代码中更改 Dll 的 .NET 4 运行时激活策略

fortran - 向具有 TARGET 属性的虚拟参数的过程提供不具有 TARGET 属性的参数

c++ - 将 Fortran 77 程序与 C++ dll 链接

file-io - 以Fortran : Status,格式打开二进制文件,访问权限

python - 避免 Numpy 中的 "complex division by zero"错误(与 cmath 相关)