我需要编译一个以前使用Compaq Fortran编译器的旧Fortran程序.我似乎无法弄清楚以'#'开头的常数是什么.gfortran说它的语法错误,我似乎找不到很多答案.
CHAR2 = IATA(KK) - #20202030
CHAR3 = IATA(KK+1) - #20202030
Run Code Online (Sandbox Code Playgroud)
什么样的常数是#20202030什么?根据评论,此代码应在IATA中使用两个ASCII字符并将其转换为二进制.有人可以解释一下吗?
再向下:
IF (IATA(KK+1) .EQ. #2020202C) THEN
Run Code Online (Sandbox Code Playgroud)
现在最后有一个'C'.那是什么意思?
我该怎么把它移植到gfortran?感觉我错过了一些明显的东西.请赐教.
谢谢!
你在看什么是非标准的Fortran.在Compaq Fortran中,#用于为十六进制常量加前缀,正如其中一条评论所暗示的那样.正如另一条评论所暗示的,十六进制常量的标准前缀是Z,数字应该用''标记括起来.所以非标准#2020202C应该转化为标准Z'2020202C'.
至于尾随C,我认为这只是一个十六进制数字.
| 归档时间: |
|
| 查看次数: |
495 次 |
| 最近记录: |