我對fortran有疑問。在下面的代碼中:fortran整數加倍
program p
integer num
real*8 d
num=111
d=dble(num/4)
print*, d
end program p
我得到27.000000000000000。是否因爲num是一個整數,所以num/4必須是相同的類型? 這是我需要在Matlab中翻譯的另一個代碼的一部分:在這種特殊情況下,我可以將它翻譯爲num/4截斷嗎?
floor(num/4)
預先感謝您
請注意,不要使用真實* 8,它可能不會真正做你認爲它的作用。使用'real(kind = rk)'符號並用'selected_real_kind'選擇類型rk。你的問題是,你做了這個部門的工作。也就是說,首先完成分割(這是一個整數除法,因爲兩個參數都是整數),然後將結果轉換爲實數。相反,你可以例如:'d = real(num,kind = rk)/ 4'。更好的是,也許是這樣的:'d = 0.25_rk * num'。 – haraldkl