データ型

次の表に、Open PL/I のデータ型の一覧と、各データ型の機械表現の整列およびサイズを示します。

特に指定されていない限り、整列は Intel、AIX/Power、および Sun SPARC で同一です。

データ型 サイズ 整列:整列されたデータ 整列:整列されていないデータ
Fixed Binary Signed (p <= 7)1 1 バイト 1 バイト バイト
Fixed Binary Signed (8 <= p <= 15) 2 バイト 2 バイト バイト
Fixed Binary Signed (16 <= p <= 31)     4 バイト 4 バイト バイト
Fixed Binary Signed (32 <= p <= 63)   8 バイト

4 バイト (32 ビット システム)

8 バイト (64 ビット システム)

バイト
Fixed Binary Unsigned (p <= 8) 2 1 バイト 1 バイト バイト
Fixed Binary Unsigned (9 <= p <= 16) 2 バイト 2 バイト バイト
Fixed Binary Unsigned (17 <= p <= 32)    4 バイト 4 バイト バイト
Fixed Binary Unsigned (33 <= p <= 64)    8 バイト

4 バイト (32 ビット システム)

8 バイト (64 ビット システム)

バイト
Fixed Decimal (p,q) [(p+2)/2] バイト バイト バイト
Float Binary (p <= 23) 4 バイト 4 バイト バイト
Float Binary (p > 23) 8 バイト 4 バイト (Intel 32 ビットの場合)、

8 バイト (Intel 64 ビット、Sparc、RS/6000 の場合)

バイト
Float Decimal (p) 12 バイト 4 バイト バイト
Character (n) n バイト バイト バイト
Character (n) Varying n+2 バイト 2 バイト バイト
Character (n) Varyingz n+1 バイト バイト バイト
Graphic(n) n*2 バイト バイト バイト
Graphic(n) Varying n*2+2 バイト 2 バイト バイト
Graphic(n) Varyingz n*2+2 バイト バイト バイト
Widechar (n) n*2 バイト バイト バイト
Widechar (n) Varying n*2+2 バイト ハーフ ワード バイト
Widechar(n) Varyingz n*2+1 バイト バイト バイト
Bit (n) n ビット ビット ビット
Bit (n) Aligned [(n+7)/8] バイト バイト
Pointer (32 ビット) 4 バイト 4 バイト バイト
Pointer (64 ビット) 8 バイト 8 バイト バイト
Picture n バイト バイト バイト
Label 8 バイト 4 バイト バイト
Entry Variable 8 バイト 4 バイト バイト
File Variable 4 バイト 4 バイト バイト
Structure3 メンバーの合計 + 整列のギャップ      メンバーの最大数       バイト
Area (n) (((n+7)/8)*8)+8 バイト 8 バイト
Offset 4 バイト 4 バイト バイト

以降のセクションでは、サイズ、整列、バイト順などの内部表現、範囲についての詳細を、必要に応じて説明します。

IBM RS/6000 および Sun SPARC プラットフォームのバイト順はビッグ エンディアンですが、Intel ベースのプラットフォームでは、リトル エンディアンのバイト順が採用されています。

注:

以下のデータ型の説明で指定されている整列は、デフォルトです。つまり、Bit を除くすべてのデータ型で ALIGNED です。UNALIGNED 属性を持つ各データ型の整列については、上記の表を参照してください。