Re: [問題] 又有問題了

看板Fortran作者 (dv6000)時間15年前 (2009/03/25 01:13), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
這個就讓小弟來貢獻一下, 簡單來說, 如果一個變數你宣告它是整數,那不管你怎運算它都是整數. 如果你宣告real來進行"整數"的運算,那它就會變real, 比方說, A=100 B=2 C=A/B 如果你宣告A,B,C是整數,那C就會得到100%的50. 如果你A,B,C三者皆宣告成real,那C也許就會變成49.99999999999999999999999999999 如此一來,在一些特別的時候,比方說, IF(C.EQ.50)THEN ENDIF 如果你宣告C是real那這個IF就可能會跳過去. 就會出錯囉~ ※ 引述《koala4120 (pure)》之銘言: : 這是有關於 interger跟real的問題 : 因為在書上都有interger跟real分開宣告的狀況出現 : interger宣告整數時所用的 : real是宣告浮點數所用的 : 這樣不是real所涵蓋的範圍比interger還要大 : 如果是這樣 : 那以後就直接宣告real就好了 : 為什麼還要在宣告interger : 不是很麻煩嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.40.48.112

03/25 11:18, , 1F
請愛用 if(abs(C-50).lt.1.E-6) 雙精確度要改成 1.D-12
03/25 11:18, 1F

03/25 21:40, , 2F
謝謝你的回答,我了解了!
03/25 21:40, 2F
文章代碼(AID): #19oHI-ro (Fortran)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #19oHI-ro (Fortran)