二値の論理演算では、真を1、偽を0として条件を組み合わせます。AND・OR・XORは2つの入力、NOTは1つの入力を反転する演算です。
1.4つのルールをまとめて見る

| 演算 | 結果が1になる条件 |
|---|---|
| AND | 両方が1 |
| OR | 少なくとも一方が1 |
| XOR | 2つの入力が異なる |
| NOT | 入力が0(1なら0へ反転) |
ORは両方1でも1ですが、XORは両方1なら0です。「どちらか」という表現だけでなく、両方1の場合の結果を確認しましょう。
2.ビット列は各桁ごとに計算する
4ビットの例
1010 AND 1100 = 1000
1010 OR 1100 = 1110
1010 XOR 1100 = 0110
NOT 1010 = 0101(4ビットとして反転)
同じ位置のビットを比べます。NOTで反転する範囲は、ここでは4ビットとしています。論理演算による真偽の組合せと、整数の各ビットに対する演算も、使う場面を区別しましょう。
3.真理値表で迷いを確かめる
ANDは「両方」、ORは「少なくとも一方」、XORは「異なる」、NOTは「反転」です。複数の演算がある式は、括弧と演算の優先順位を確認して段階ごとに計算します。
理解を確かめる確認問題
4ビットの1010と1100をXORすると何になるでしょうか。
ア:1000 イ:0110 ウ:1110
解答・解説を見る
正解はイです。同じ位置の値が異なるときだけ1になり、0110になります。
まとめ:両方1の場合と、入力の数を確認する
ORとXORの違い、NOTが1入力であることを整理し、各ビットを順番に追いましょう。

コメント