データ・タイプ

次の表に、Open PL/I のデータ・タイプの一覧と、各データ・タイプのマシン表現の整列およびサイズを示します。

特に指定されていない限り、整列は HP PA-RISC、Intel、RS/6000、および Sun SPARC で同一です。

データ・タイプ サイズ 整列:整列されたデータ 整列:整列されていないデータ
Fixed Binary ( p ≤ 7) 1 1 バイト 1 バイト バイト
Fixed Binary (8 ≤ p ≤ 15) 2 バイト 2 バイト バイト
Fixed Binary (p > 15)      4 バイト 4 バイト バイト
Fixed Decimal (p,q) [(p+2)/2] バイト バイト バイト
Float Binary (p ≤ 23) 4 バイト 4 バイト バイト
Float Binary (p > 23) 8 バイト 4 バイト (Intel の場合)、

8 バイト (Intel 以外の場合)

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

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

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

注:

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

1

*Fixed Binary (p ≤ 7) は、-vax コンパイラ・オプションが有効な場合のみ、1 バイトの符号付き 2 進整数として処理されます。有効でない場合は、Fixed Binary(15) として処理されます。

2 マッピング規則については、『Structure』のトピックを参照してください。