遗留代码使用.or

Wil*_*ell 4 fortran

在旧的fortran代码中,当.or.使用两个整数类型时,结果是按位还是操作数或0/1?

我更新的旧代码,并认为我应该更换的这些情况.or.IOR,但我不确定这是否是在旧的代码预期的结果.我应该将结果设置为0还是1?

D.S*_*ley 6

我相信你所看到的确实是一个自定义扩展.我之前没有看到过这个用过的东西,但我确实在网上找到了关于野外实际存在的东西的参考资料:

当Fortran程序直接与数字硬件通信时,可能需要对位模式执行逐位逻辑运算.标准Fortran没有提供任何直接的方法,因为逻辑变量基本上只存储一位信息,而整数变量只能用于算术.许多系统作为扩展提供了对整数执行逐位操作的内部函数.功能名称各不相同:通常它们是IAND,IOR,ISHIFT.一些系统提供允许正常的逻辑运算符,如.AND.和.OR.与整数参数一起使用:这是一个更加激进的扩展,并且不太令人满意,不仅因为它降低了可移植性,而且还降低了编译器检测正常算术表达式中的错误的能力.

参考