如何实现霍尔瑞斯常数?

问题描述 投票:0回答:1

我最近一直在研究 Fortran 77 的一个遗留项目,我发现了一个相当晦涩的功能:Hollerith Constants。我知道这些是 Fortran 77 中表示字符串的一种方式,但我很难理解如何在实际场景中实现它们。

这是我试图理解的一个例子:

PROGRAM HOLLERITH
INTEGER\*4 I
I = 4HABCD
PRINT \*, I
END PROGRAM HOLLERITH

我的问题是,霍尔瑞斯常数在这里到底是如何起作用的?字符串“ABCD”如何存储在整数“I”中?是否有任何实际示例或用例使此功能特别有用?

我知道这是一个相当小众的话题,但我希望具有 Fortran 77 专业知识的人能够对此有所了解。

提前感谢您的见解。

fortran
1个回答
1
投票

代表字符的字节(每个字符一个字节)被简单地放入内存位置,该位置属于整数

I
。没有更多了。您只需将原始内存内容放入该内存位置即可。

在 Fortran 77 中它没有任何用处。在 Fortran 77 出现之前,它是出于必要而使用的,因为没有适当的

CHARACTER
类型。

© www.soinside.com 2019 - 2024. All rights reserved.