【问题标题】:What leads to the floating point exception "1.#IO"是什么导致浮点异常“1.#IO”
【发布时间】:2016-06-30 01:27:42
【问题描述】:

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

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

【问题讨论】:

  • CVF 6 是编译器。模拟是每秒数千行,我不确定异常首先出现在哪里,但它会将 -1.#IO 传播到所有其他子例程,因此最终在它爆炸之前我有数千个带有此异常的变量。跨度>

标签: windows-7 floating-point fortran invalidoperationexception floating-point-exceptions


【解决方案1】:

根据IEEE 754 Standard for Floating Point Operations,提示无效操作

当 NaN 或无限操作数不能以目标格式表示时,否则不能 被指示 [...] 当一个数字操作数将转换为 超出目标格式范围的整数,如果出现无效操作异常,则应发出信号 这种情况不能以其他方式表示。

This page 举几个例子:

  • 零*无穷大
  • 零/零
  • 无穷大/无穷大
  • 负操作数的平方根
  • [还有更多]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 2014-11-07
    • 1970-01-01
    • 2011-09-30
    相关资源
    最近更新 更多