DIGIT( ) 関数

指定された位置にある Packed データ型のバイトから、上位または下位の数字を返します。

構文

DIGIT(バイト位置, 位置)

パラメーター

名前 種類 説明
バイト位置 数値

レコード内のバイト位置。

位置 数値

返させる数字:

  • バイトの上位 4 ビットを返させる場合は 1 を指定します。
  • バイトの下位 4 ビットを返させる場合は 2 を指定します。

出力

数値。

基本的な例

小数点以下 2 桁で、10 バイト目から始まる、値 123.45(00 12 34 5C)のパック フィールドは、データ レコードでは次の形式で表されます。

  バイト 10 バイト 11 バイト 12 バイト 13
上位 4 ビット(1) 0 1 3 5
下位 4 ビット(2) 0 2 4 C

次の例では 3 が返されます(12 バイト目の上位 4 ビットに格納されている数字を取得します)。

DIGIT(12, 1)

次の例では 4 が返されます(12 バイト目の上位 4 ビットに格納されている数字を取得します)。

DIGIT(12, 2)

備考

機能の仕組み

DIGIT( ) は、1 バイトの半分をそれぞれ区分し、位置パラメーターで指定されたバイトの値を 0 から 15 までの数字で返します。

DIGIT( ) の使用に適する場面

DIGIT( ) は個々のハーフバイト(上位バイトまたは下位バイト)にアクセスする場合に使用できます。Unisys アプリケーションなどの、ハーフバイト(4 ビット)単位で配列されたパック フィールドを使用するアプリケーションで作業を行う場合は、これが必要です。

ACL のスクリプト作成ガイド 14.1