データ型および変換

変数を宣言する際は、それぞれ対応するデータ型を指定する必要があります。DEFAULT 文で制御される場合を除き、データ型を指定しないとコンパイラで警告が発行されます。その場合、名前が I から N までのいずれかの文字で始まる変数についてはデータ型が Fixed Binary(15) となり、それ以外の変数についてはデータ型が Float Decimal(6) となります。

データ型の詳細については、「データ型」の章を参照してください。次に、Open PL/I で使用できるいくつかのデータ型の例を示します。

例:

DECLARE A FLOAT DECIMAL(7); 
DECLARE N FIXED BINARY(15); 
DECLARE C CHARACTER(30); 
DECLARE B BIT(1);

この例で、変数 A は仮数部が最大 7 桁で指数部が最大 3 桁の任意の浮動小数点値、変数 N は -32768 から +32767 までの任意の 2 進整数値、変数 C は 30 文字の任意の文字列、変数 B は '1'B または '0'B のいずれかをそれぞれ保持することができます。

各変数で保持できるのは特定のデータ型の値のみとなりますが、Open PL/I 言語には値を別のデータ型に変換する一連の操作が用意されています。値を変数に代入する際は、次の例 (上記の例の宣言に対応) に示すように、値が変数のデータ型に変換されてから代入されます。

例:

A = 1; /* converts 1 to FLOAT DECIMAL(7) */
N = 2.5; /* converts 2.5 to the FIXED BIN(15) integer 2 */
C = -4.5; /* converts -4.5 to a character string */
B = 0; /* converts integer 0 to '0'B */

データ型変換の詳細については、「データ型変換」の章を参照してください。