MASK( ) 関数

2 つの文字列の最初の各バイトに対してビットごとの AND 演算を実行します。

構文

MASK(文字の値, 文字のマスク)

パラメーター

名前 種類 説明
文字の値 文字

バイトを調べる文字列。

文字のマスク 文字

バイトを調べる相手となる文字列(マスク値)。

出力

文字。出力は、ビットごとの AND 演算のバイナリ結果に対する文字表記です。

基本的な例

3(00110011)と 6(00110110)のビットごとの AND 演算の結果である "2"(00110010)が返されます。

MASK("3", "6")

備考

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

MASK( ) 関数は、1 バイト データにおける特定のビット パターン(特定のビットが 1 に設定されているかどうかは問わない)を識別する場合に使用できます。

機能の仕組み

MASK( ) 関数は、文字の値文字のマスクの最初の文字のバイナリ表記に対してビットごとの AND 論理演算を実行します。比較対象となる 2 つのバイトが一度に 1 ビットずつ比較されて、第 3 のバイナリ値への出力が行われます。

対応する各ビット同士の比較結果は 1 か 0 になります。

文字の値のビット 文字のマスクのビット 結果
0 0 0
0 1 0
1 0 0
1 1 1

比較対象となる文字列が 1 バイトより長い

比較対象となる文字列のどちらかが 1 バイトより長い場合、後続の文字は無視されます。

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