2015-05-18 224 views
0

在傳統的FORTRAN代碼片段(實際編譯不明,懷疑它是大約FORTRAN-77),我發現像這樣的語句:傳統Fortran格式編輯描述符語法 - 類型之前的編號?

100 FORMAT(5I7.2) 

這我理解的意思:

  • 整數

  • 寬度7個字符,其中

  • 2的字符是小數(例如,「123 45.67')

我無法找到的是對'5'領先的解釋。我認爲這意味着「重複羣體」的作用,比如說 - 七個整數的五組......等等。

這個解釋是否正確?

+0

我稍微不願意將此稱爲https://stackoverflow.com/q/13162910的副本,但這無疑是相關的。你對「I7.2」的解釋不太對,也意味着可能的前導零。 – francescalus

+0

不是重複,但答案很容易在任何fortran文本/教程中找到。 – agentp

回答

1

Fortran 2008定義了第10.7.2.2節中的I編輯描述符。您的問題的相關段落是(節選):

1 Iw和Iw .m編輯描述符指示要編輯的字段佔據w位置,除非w爲零。 當w爲零時,處理器選擇字段寬度。在輸入時,w不能爲零。指定的輸入/輸出 列表項應爲整型。

5 Iw .m編輯描述符的輸出字段與Iw編輯描述符的輸出字段相同,只不過數字字符串 至少包含m個數字。如有必要,包含足夠的前導零以實現最小m位數。

這意味着I7.2將是7位數字寬,至少兩位數字將始終顯示,0填充。

在編輯描述符中的前述5重複規範(Fortran的2008 10.3.1第1段),它是下列編輯描述符的重複計數。

放在一起,5I7.2將輸出5個整數,每個7位數的寬度顯示至少2個數字,零填充到兩個數字(如有必要)。