Fortran Coder

标题: 求大神解决H编辑符和八进制常数的warning,谢谢! [打印本页]

作者: 学习fortran    时间: 2014-7-21 16:48
标题: 求大神解决H编辑符和八进制常数的warning,谢谢!
1,This Hollerith or character constant is too long and cannot be used in the current numeric context.
2,This octal constant is too large in this context.
这两个问题该如何修改,请大神指教

作者: vvt    时间: 2014-7-21 16:48
最好给出错误行的代码
作者: 学习fortran    时间: 2014-7-21 16:57
补充错误行信息:
1. IF(OPTION.EQ. 8HENDBLOCK ) IEND=3
   warning #6043: This Hollerith or character constant is too long and cannot be used in the current numeric context.   [8HENDBLOCK]
2. IGTBL(3,45) =O"00000001750000000020"
    error #6045: This octal constant is too large in this context.   [O'00000001750000000020']
请大神指点
作者: vvt    时间: 2014-7-21 17:00
IF(OPTION.EQ. 8HENDBLOCK ) IEND=3
此处的相等判断,是字符串判断,而不是格式符,所以不能用 H 编辑符。可修改为
IF(OPTION=="ENDBLOCK" ) IEND=3

IGTBL(3,45) =O"00000001750000000020"
这里的八进制太长了,你是想表达 134217728016 这么大的数么?
作者: 学习fortran    时间: 2014-7-21 17:03
vvt 发表于 2014-7-21 17:00
IF(OPTION.EQ. 8HENDBLOCK ) IEND=3
此处的相等判断,是字符串判断,而不是格式符,所以不能用 H 编辑符 ...

这个八进制的数多大,是在哪查询呢?
而且我这些语句是在源程序中大量存在的,是不是在普通计算机上不能使用啊?

作者: vvt    时间: 2014-7-21 17:17
这取决于你对 IGTBL 的定义,看看它是整型,还是长整型。
整型最大一般是到 2147483648,长整型可以到 9223372036854775808
作者: 学习fortran    时间: 2014-7-21 18:17
vvt 发表于 2014-7-21 17:17
这取决于你对 IGTBL 的定义,看看它是整型,还是长整型。
整型最大一般是到 2147483648,长整型可以到 9223 ...

非常感谢你的解答





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2