我想初始化FORTRAN大整數數組,我曾嘗試:如何在fortran中初始化整數類型8的數組?
integer(kind=8) :: XGrid(1:20)
但整數保持默認KIND = 4。正如我稍後將數字添加到陣列:
XGrid = (/3002, 3340403,....,19460630000/)
而且我收到「此數字常量超出範圍」錯誤。因爲它不適合一種= 4 int,但會在一種= 8 int。
我自己也嘗試聲明爲:
integer, parameter :: ik8 = selected_int_kind(8)
integer(ik8) :: XGrid(1:20)
但是,這也沒有工作。
編輯: 感謝弗拉基米爾女,但我試圖定義一個數組,而不僅僅是一個單一的變量,因此我無法理解如何適應中使用的答案: Is There a Better Double-Precision Assignment in Fortran 90? 難道是:
integer, parameter :: ik8 = selected_int_kind(8)
integer(ik8) :: XGrid(1:20)_ik8
XGrid = (/3002_ik8, 3340403_ik8,....,19460630000_ik8/)
還是它不同?謝謝
感謝,那是一個很大的幫助 –
@Vladimir:請問一下'(/3002.d0,3340403.d0 ,. ...,19460630000.d0 /)'?這是否等同/便攜? – Coriolis
@Ian:對不起,我的意思是如果數組是真實的。如果我使用'integer,parameter :: real64 = SELECTED_REAL_KIND(15,307)'作爲精度類型,是不是寫了'3002.d0'和'3002_real64'? – Coriolis