作者odinkay (新手上路)
看板Fortran
标题[问题] NaN 问题
时间Sat Apr 25 18:57:20 2009
程式在执行的时候有时候, 某个数会出现 "NaN"的讯息, 但是出现这讯息时
表示这次的执行失败了, 所以会想在程式中间加一个类似於 if else 的部份,
让它中途发现就 goto 回去重跑, 但是当 某数为 NaN 时就不是一个数了,
要如何让它判断呢 ?
例如我试了一下:
假如 a 是 real, 但 a 最後的讯息是 NaN
於是我想: if (a>-1 .and. a<1) then
goto 100 (100 表示後面继续执行的某行代号)
else
goto 10 (10 表示可以重新生成 a 的行代号)
end
想法是: 反正 a是 NaN, 那麽范围一定不在 - 1到 1 之间, 所以
一定会 goto 10 重新得到 a. 测试结果是程式看不懂
, 当 a 出现 NaN 时, 不会 goto 100 和 goto 10, 直接
出现了错误讯息.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.225.32.101
1F:→ itee:isnan 04/25 20:54
2F:→ charlesdc:楼上什麽意思? 还有无限大跟负无限大的话要怎解? 04/26 00:13