一段时间以来,我一直致力于将旧的 FORTRAN77 程序重新设计为 Python。不过,我遇到了一个问题:当除以零时,FORTRAN 程序似乎只是继续处理数据而没有问题。然而,不出所料,它会导致 Python 出现问题。我无法在 F77 的任何官方 channel 上找到关于此的讨论,而且我只有我正在翻译的程序的旧版本源代码,我无法编译。
TL;DR:对于以下情况,F77 如何处理被零除?:
- 真正的部门
- INT部门
- 分子也为零(例如0./0.)
最佳答案
是的,当遇到被零除错误时,我也有不执行任何操作的代码。通常,程序员有责任确保结果符合预期(目标变量的值未更改)或引发错误等。换句话说,您需要检查任何除法运算是否存在可能的零除数。现代操作系统在被零除时抛出一个内部异常(如果系统在这种情况下暂停,则将 NAN 分配给目标变量),大多数较旧的 Fortran 代码被编写成被零除无关紧要。
关于FORTRAN 77 除以零行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59124365/