使用 BYTE 数据对象(IBM 扩展)

只要可以使用 LOGICAL(1)CHARACTER(1)INTEGER(1) 数据对象,就可以使用类型为 BYTE 的数据对象。

BYTE 数据对象的数据类型由您使用它们的上下文确定。 IBM® Open XL Fortran 在使用前不会对其进行转换。 例如,命名常量的类型由使用确定,而不是由分配给它的初始值确定。
  • 当您使用 BYTE 数据对象作为算术,逻辑或关系二进制运算符的操作数时,数据对象假定:
    • INTEGER(1) 数据类型 (如果另一个操作数是算术, BYTE或无类型常量)
    • LOGICAL(1) 数据类型 (如果其他操作数是逻辑操作数)
    • CHARACTER(1) 数据类型 (如果另一个操作数是字符)
  • 当您使用 BYTE 数据对象作为并置运算符的操作数时,该数据对象将采用 CHARACTER(1) 数据类型。
  • BYTE 数据对象用作具有显式接口的过程的实际自变量时,数据对象将采用相应虚自变量的类型:
    • INTEGER(1) (对于 INTEGER(1) 哑参数)
    • LOGICAL(1) (对于 LOGICAL(1) 哑参数)
    • CHARACTER(1) (对于 CHARACTER(1) 哑参数)
  • 当您使用 BYTE 数据对象作为通过引用传递到具有隐式接口的外部子程序的实际自变量时,数据对象假定长度为 1 字节且无数据类型。
  • BYTE 数据对象用作按值 (VALUE 属性) 传递的实际自变量时,该数据对象将采用 INTEGER(1) 数据类型。
  • 在需要特定数据类型 (即算术,逻辑或字符) 的上下文中使用 BYTE 数据对象时,该数据对象将分别采用 INTEGER(1)LOGICAL(1)CHARACTER(1) 数据类型。
  • 类型为 BYTE 的指针不能与类型为字符的目标关联,类型为字符的指针也不能与类型为 BYTE的目标关联。
  • 在任何其他上下文中使用 BYTE 数据对象时,该数据对象将采用 INTEGER(1) 数据类型。