Open PL/I に相当するデータ・タイプ

次の表は、同等のデータ・タイプの対応を示した、互換データ・タイプの一覧です。一部のデータ・タイプ (例えば、C の char) は、表内の複数箇所で使用されています。これは、複数の言語に対応する同等のデータ・タイプがあることを示しています。表内で使用されている下付き文字には、次の意味があります。

PL/I COBOL C C++ FORTRAN BASIC PASCAL
Fixed Bin、P <= 7 COMP PIC

S9 (1) – S9 (2)

char char INTEGER*1 – –
Fixed Bin、

8 <= P <= 15

COMP PIC

S 9 (3) – S 9 (4)

short short INTEGER*2 INTEGER (%) Integer
Fixed Bin、P >15 COMP PIC

S 9 (5) – S 9 (9)

int または long int または long INTEGER*4 – Integer
– – char char INTEGER*1 – Packed Array[1...5]
Character (n) DISPLAY A(n) または PIC X(n) char [n] char [n] CHARACTER*n –
Character (N) Varying DISPLAY PIC X OCCURS num1 ~ num2

DEPENDING on N

struct

{short s; char c[n];}

struct

{short s; char c[n];}

– – Char
Character (1) DISPLAY PIC X char char CHARACTER*1 – –
Character (*) – char[ ] char[ ] – – –
Fixed Decimal COMP–3 PIC S9 (n) – – – – –
  DISPLAY PIC S9(n) SIGN TRAILING – – – – –
– DISPLAY PIC S9(n) SIGN LEADING SEPARATE – – – – –
– DISPLAY PIC S9(n) SIGN TRAILING SEPARATE – – – – –
Bit(1) – – – – – –
Bit(1) Aligned – char char – – Boolean
Bit(N) Aligned COMP–5 PIC

[S] 9 (n)、n<5

– – – – Set
– – int または long int または long LOGICAL*4 – –
– – short short LOGICAL*2 – –
– char char LOGICAL*1 /BYTE – –
Float Bin、p > 23 COMP–2 double double REAL*8 REAL (#) (MBASIC) –
Float Bin、p <= 22 COMP–1 float float REAL*4 REAL (1) (MBASIC) Real
– – struct

{float real, imaginary;}

struct

{float real, imaginary;}

COMPLEX*8 – –
– – struct

{double real; double imaginary}

#include <complex.h> class complex COMPLEX*16 – –
Pointer – Pointer Pointer – – Pointer
Label – – – alternate return – –
Entry DISPLAY PIC X(32) – – Dummy procedure – –
Float Decimal – – – – REAL (CBASIC) –
– – – – – STRING

($)

–
Area – – – – – –
Offset COMP PIC

S 9 (5) – S 9 (9)

int または long int または long INTEGER*4 – integer