PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Fortran
[問題] 傳回一個等於或大於的最小整數
作者:
alexanjou
(盜版神話)
2015-05-22 20:46:12
如題所示 我採用彭國倫P635頁的CEILING
x3=-5.17E+15
z=x3+20
h=CEILING(ABS(z)/40)
write(*,*) ABS(z)/40 , h
銀幕出現 ABS(z)/40=1.295E+14 (正確)
然而 h=-2.147E+9
數字根本不對@ @
是因為數值太大時 所導致的錯誤嗎?
謝謝
作者:
physbook
(路克)
2015-05-23 00:38:00
overflow了,把h宣告成real*8試試看 real*8 :: h
作者:
alexanjou
(盜版神話)
2015-05-23 10:28:00
有哦!我每一個變數都是 kind=8
作者:
rex0707
(我就是我)
2015-05-23 14:11:00
CEILING的回傳值不是一個整數嗎? 為什麼要宣告成real
作者: terryys (terry)
2015-05-23 17:24:00
CEILING(ABS(z)/40,8)
作者:
physbook
(路克)
2015-05-24 00:18:00
想問樓上8的意思是什麼?
作者: terryys (terry)
2015-05-25 10:27:00
傳回的數值是integer(8) 預設應該是integer(4)所以會overflow
繼續閱讀
[問題] 時間規律變化
dreler1
[問題] 插入文字
dreler1
Re: [請益] 泰勒式的問題
kerwinhui
[請益] 泰勒式的問題
DennyXu
[問題] 如何使用f03gl寫Opengl
blamda
[問題] 關於對變數微分的寫法
notebook5566
[問題] 陣列的數值忽然會錯亂
peter308
[問題] 宣告變數可以之後再決定數目?
colotck0915
[請益] 電腦的執行速度
Ballantine
[問題] 矩陣相乘運算速度問題
chaosam
Links
booklink
Contact Us: admin [ a t ] ucptt.com