%BITNOT (ビットの反転)

%BITNOT(expr)

%BITNOT は、引数のビットの反転をビット単位で戻します。 つまり、引数内の対応するビットがオフの場合は、結果のビットはオンになり、それ以外の場 合は、結果のビットはオフになります。

この組み込み関数に対する引数は、文字でも数値でもかまいません。 数値の引数の場合は、引数が整数または符号なし数値ではないときには、引数はまず整数に変換されます。値が 8 バイトの整数に収まらない場合は、 数値のオーバーフロー例外が発行されます。

%BITNOT は引数を 1 つのみ使用します。 結果のタイプは、引数のタイプと同じです。数値の引数の場合は、すべての引数 が符号なし数値であるときには、結果の数値は符号なし数値になり、それ以外の場合は、結果の数値は整数になります。

長さは、最大オペランドの長さになります。 引数の長さがさまざまである場合、 数値の引数については、左側にゼロのビットが埋め込まれます。

%BITNOT は任意の式でコーディングすることができます。 また、すべての引数がコンパイル時に既知の場合は、 ファイルまたは定義仕様書キーワードに対する引数としてコーディングすることもできます。この組み込み関数のすべての引数が 16 進数リテラルである場合、 コンパイラーは 16 進数リテラルの定数結合された結果を作成します。

%BITNOT の使用についての実例は、図 1 を参照してください。

詳細については、ビット操作または 組み込み関数を参照してください。