我将参考关于 NaN 的维基百科条目和 Fortran 标准来尝试枚举它们。
\n\n\n\n\n可以返回 NaN 的操作有以下三种:[5]
\n\n\n
\n- 使用 NaN 作为至少一个操作数的运算。
\n
在 Fortran 中,这将包括算术和比较运算符的应用,以及数学内在函数。
\n\n\n\n\n\n
\n- \n
不定形式:
\n\n\n
- 划分 (\xc2\xb10) / (\xc2\xb10) 和 (\xc2\xb1\xe2\x88\x9e) / (\xc2\xb1\xe2\x88\x9e)。
\n- 乘法 (\xc2\xb10) \xc3\x97 (\xc2\xb1\xe2\x88\x9e) 和 (\xc2\xb1\xe2\x88\x9e) \xc3\x97 (\xc2\xb10)。
\n- 加法 (+\xe2\x88\x9e) + (\xe2\x88\x92\xe2\x88\x9e), (\xe2\x88\x92\xe2\x88\x9e) + (+\xe2\x88\x9e) ) 和等效减法 (+\xe2\x88\x9e) \xe2\x88\x92 (+\xe2\x88\x9e) 和 (\xe2\x88\x92\xe2\x88\x9e) \xe2\x88\x92 ( \xe2\x88\x92\xe2\x88\x9e)。
\n- 该标准具有权力的替代功能:\n \n
\n\n
- 标准 pow 函数和整数指数 pown 函数将 0\xe2\x81\xb0、1\xe2\x88\x9e 和 \xe2\x88\x9e\xe2\x81\xb0 定义为 1。
\n- powr 函数将所有三种不确定形式定义为无效操作,因此返回 NaN。
\n
因此,包括所有算术运算符(以及原子操作函数)。这一切都很明显,接下来就是有趣的事情了:
\n\n\n\n\n\n
\n- 具有复杂结果的实际运算,例如:\n \n
\n\n
- 负数的平方根。
\n- 负数的对数。
\n- 小于 \xe2\x88\x921 或大于 1 的数字的反正弦或余弦。
\n
这意味着(正如 @kvantour 在评论中所说)任何在其域之外调用的内部函数:, SQRT, LOG, ATAN, ATAN2, ACOS, ACOSH, ASIN, ASINH, FRACTION, RRSPACING,SET_EXPONENTSPACING
| 归档时间: |
|
| 查看次数: |
2697 次 |
| 最近记录: |