Windows 7 什么导致浮点异常;1.“IO”;

Windows 7 什么导致浮点异常;1.“IO”;,windows-7,floating-point,fortran,invalidoperationexception,floating-point-exceptions,Windows 7,Floating Point,Fortran,Invalidoperationexception,Floating Point Exceptions,我正在调试一个模拟,在许多Fortran文件中进行许多计算。我已经习惯于看到一些浮点异常(-1.#QNB或1.#QNAN),因为错误涉及零除或超过浮点数最大大小的操作。我假设-1.#IO表示无效操作,但我不确定数学上是什么导致了这一点,而不是QNB、QNAN或QINF 什么会导致异常-1.#IO?根据,发出无效操作的信号 当NaN或无限操作数不能以目标格式表示,并且不能以其他方式表示时 在数字操作数转换为时指示[…] 一个超出目标格式范围的整数,如果 这种情况不能用其他方式表示 举几个例子:

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

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

根据,发出无效操作的信号

当NaN或无限操作数不能以目标格式表示,并且不能以其他方式表示时 在数字操作数转换为时指示[…] 一个超出目标格式范围的整数,如果 这种情况不能用其他方式表示

举几个例子:

  • 零*无限
  • 零/零
  • 无穷大
  • 负操作数的平方根
  • [还有一些]

CVF 6是编译器。模拟速度为每秒数千行,我不确定异常首先出现在哪里,但它会将-1.#IO传播到所有其他子例程,因此最终在异常爆发之前,我有数千个变量。请向我解释这个问题与编程无关。只需将其除以零:谢谢。Vladimir F试图结束这个话题,因为这不是一个关于编程的问题,但我想他删除了他的评论。