ビット演算を指定するには、 下記のいずれかの論理演算子でオペランドを結び付けます。
¬ & |
NOT/排他的 OR 記号 (¬) は、 接頭部または挿入演算子として使用することができます。 AND (&) 記号および OR (|) 記号は、 挿入演算子としてのみ使用することができます (これらの演算子は、ブール代数の場合と同じです)。
ビット演算のオペランドは、演算の実行前に、必要に応じてビット・ストリングに変換されます。 挿入演算子の演算の両オペランドの長さが異なっている場合は、短い方のストリングの右側に '0'B が埋め込まれます。
ビット演算の演算結果は、両オペランドと同じ長さのビット・ストリングです。
ビット演算は、1 ビットずつ行われます。 表 19 は、各演算子のビット位置の結果を説明しています。 表 20 は、ビット演算子の例を示しています。
| A | B | ¬A | ¬B | A&B | A|B | A¬B |
|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| オペランドと値 | 演算 | 結果 |
|---|---|---|
|
A = '010111'B B = '111111'B C = '110'B D = 5 |
¬ A |
'101000'B |
|
¬ C |
'001'B |
|
|
C & B |
'110000'B |
|
|
A | B |
'111111'B |
|
|
A ¬ B |
''101000''B |
|
|
A ¬ C |
'100111'B |
|
|
C | B |
'111111'B |
|
|
A | (¬C) |
'011111'B |
|
|
¬((¬C)|(¬B)) |
'110111'B |
|
|
SUBSTR(A,1,1)|(D=5) |
'1'B |
演算子 ¬、&、および | を使用する NOT、排他 OR、AND、 および OR 演算に加えて、BOOLで 説明している BOOL 組み込み関数を使用してブール演算を行うことができます。