Fortran Coder

查看: 14931|回复: 6
打印 上一主题 下一主题

[求助] 求大神解决H编辑符和八进制常数的warning,谢谢!

[复制链接]

4

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
10 点
跳转到指定楼层
楼主
发表于 2014-7-21 16:48:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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.
这两个问题该如何修改,请大神指教
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2014-7-21 16:48:50 | 只看该作者
最好给出错误行的代码

4

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
10 点
板凳
 楼主| 发表于 2014-7-21 16:57:00 | 只看该作者
补充错误行信息:
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']
请大神指点

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
地板
发表于 2014-7-21 17:00:38 | 只看该作者
IF(OPTION.EQ. 8HENDBLOCK ) IEND=3
此处的相等判断,是字符串判断,而不是格式符,所以不能用 H 编辑符。可修改为
IF(OPTION=="ENDBLOCK" ) IEND=3

IGTBL(3,45) =O"00000001750000000020"
这里的八进制太长了,你是想表达 134217728016 这么大的数么?

4

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
10 点
5#
 楼主| 发表于 2014-7-21 17:03:51 | 只看该作者
vvt 发表于 2014-7-21 17:00
IF(OPTION.EQ. 8HENDBLOCK ) IEND=3
此处的相等判断,是字符串判断,而不是格式符,所以不能用 H 编辑符 ...

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

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
6#
发表于 2014-7-21 17:17:05 | 只看该作者
这取决于你对 IGTBL 的定义,看看它是整型,还是长整型。
整型最大一般是到 2147483648,长整型可以到 9223372036854775808

4

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
10 点
7#
 楼主| 发表于 2014-7-21 18:17:15 | 只看该作者
vvt 发表于 2014-7-21 17:17
这取决于你对 IGTBL 的定义,看看它是整型,还是长整型。
整型最大一般是到 2147483648,长整型可以到 9223 ...

非常感谢你的解答
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-24 01:27

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表