INT 関数

目的

指定された記憶域を符号付き整数として解釈し、その整数の値を返します。

構文

INT(expression[,position[,length]])

パラメーター

expression は、スカラー式または連結記憶域への参照です。expression に配列、構造体、または名前付き定数を指定することはできません。position は、フィールドの最初のビット位置を指定する正の整数値です。length は、フィールドの長さを指定する 0 から 32 の範囲の正の整数値です。

説明

INT 関数は、指定された記憶域を符号付き整数として解釈し、その整数の値を返します。変換は実行されないため、返される値は、指定した記憶域に格納されている変数のデータ型に依存します。

position を指定する場合、最小値は 1 で、最大値は、expression で指定した記憶域のビット長です。position を省略した場合のデフォルト値は 1 です。

length を指定する場合、最小値は 0 で、最大値は、expression で指定した記憶域のビット長から position の値を引いた値です。length を省略した場合のデフォルト値は、position で指定したビットから expression で指定した記憶域の末尾までのビット数になります。

position および length を指定しない場合は、expression で参照される記憶域の長さが 32 ビットに制限されます。

INT は Fixed Bin(31) 型の値を返します。フィールドの長さがゼロの場合はゼロを返します。

INT と POSINT は、POSINT が符号なし整数を返す以外は同じです。

この関数の結果は、使用しているハードウェアのネイティブのバイト順に依存します。そのため、異なるプラットフォームで同じように使用できるとは限りません。

DCL A BIT(32);

   A = '12345678'B4;
   PUT SKIP LIST(INT(A,5,4));
END TEST;

制約事項

なし。