我知道除以零和负实数的平方根会输出NaN。还有其他类似的问题吗?
答案 0 :(得分:1)
我将参考wikipedia entry on NaN和Fortran Standard尝试枚举它们。
可以返回NaN的三种操作:[5]
- 使用NaN作为至少一个操作数的操作。
在Fortran中,它将包括算术和比较运算符的应用以及数学内在函数。
不确定的形式:
- (±0)/(±0)和(±∞)/(±∞)的分度。
- (±0)×(±∞)和(±∞)×(±0)的乘积。
- 加法(+∞)+(-∞),(-∞)+(+∞)和等效减法(+∞)-(+∞)和(-∞)-(-∞)。
- 该标准具有以下替代功能:
- 标准pow函数和整数指数pown函数将0⁰,1∞和∞⁰定义为1。
- powr函数将所有三个不确定形式定义为无效操作,因此返回NaN。
因此,包括了所有算术运算符(以及原子运算函数)。所有这些都很明显,接下来就是乐趣:
- 具有复杂结果的实际操作,例如:
- 负数的平方根。
- 负数的对数。
- 小于-1或大于1的数字的反正弦或余弦。
这意味着(如评论中的@kvantour所述)在其域之外调用的任何内部函数:SQRT
,LOG
,ATAN
,ATAN2
,{ {1}},ACOS
,ACOSH
,ASIN
,ASINH
,FRACTION
,RRSPACING
,SET_EXPONENT