[問題] NaN 問題

看板Fortran作者 (新手上路)時間15年前 (2009/04/25 18:57), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/2 (看更多)
程式在執行的時候有時候, 某個數會出現 "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

04/25 20:54, , 1F
isnan
04/25 20:54, 1F

04/26 00:13, , 2F
樓上什麼意思? 還有無限大跟負無限大的話要怎解?
04/26 00:13, 2F
文章代碼(AID): #19ykoHnF (Fortran)
討論串 (同標題文章)
文章代碼(AID): #19ykoHnF (Fortran)