1

我正在调试一个在许多 Fortran 文件中进行许多计算的模拟。我习惯于看到一些浮点异常(-1.#QNB 或 1.#QNAN),这些错误涉及除以零或超出浮点数最大大小的操作。我假设 -1.#IO 表示无效操作,但我不确定在数学上是什么导致这种情况,而不是 QNB、QNAN 或 QINF。

什么会导致异常-1.#IO?

4

1 回答 1

2

根据IEEE 754 浮点运算标准,会发出无效运算信号

当 NaN 或无限操作数无法以目标格式表示并且无法以其他方式表示时 [...] 当数字操作数将转换为目标格式范围之外的整数时,如果出现此情况,则应发出无效操作异常信号情况不能以其他方式表示。

此页面提供了一些示例:

  • 零 * 无穷大
  • 零/零
  • 无穷大/无穷大
  • 负操作数的平方根
  • [还有一些]
于 2016-03-14T20:30:35.327 回答