━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■第11回 論理演算
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
過去4回に渡って2進数に関する話題でしたが、コンピュータにはそれ以外に
NOT演算、OR演算、AND演算、XOR演算の「論理演算」があります。
論理演算は四則演算と違い、桁上がりがありません。
2進数のそれぞれの桁で演算を行います。
論理演算は演算と言っても、演算のルールにしたがって答えを決めていくだ
けですので、慣れると簡単に演算することができます。
このルールは、真理値表という表で覚えると簡単ですので、真理値表と合わ
せて説明していきます。
論理演算の結果は、真(true:真実)または偽(false:嘘)で表されます。
2進数では、真を1、偽を0で表現する場合が多いです。
●NOT演算(否定)
「~でない」を意味します。
例えば、硬貨が一枚置いてあるとして、「表ではない」と言えば逆なので
「裏」ということになります。
2進数では、0と1しかありませんから、0と1を逆にするだけです。
真理値表は、以下のようになります。
-------------
| A | NOT A |
|---|-------|
| 0 | 1 |
|---|-------|
| 1 | 0 |
-------------
●OR演算(論理和)
「○○または××」を意味します。
2つの条件のどちらかを満たせば良いのです。
「10円玉または100円玉が表」と言われたら、どちらか一方でも表になって
いれば条件が満たされます。もちろん両方表でも構いません。
「Aが真 または Bが真なら答えも真」なので、以下の真理値表になります。
------------------
| A | B | A OR B |
|---|---|--------|
| 0 | 0 | 0 |
|---|---|--------|
| 0 | 1 | 1 |
|---|---|--------|
| 1 | 0 | 1 |
|---|---|--------|
| 1 | 1 | 1 |
------------------
●AND演算(論理積)
「○○かつ××」を意味します。
2つの条件両方を満たす必要があります。
「10円玉または100円玉が表」と言われたら、両方とも表になっている必要
があります。ORより厳しい条件ですね。
「Aが真 かつ Bが真なら答えも真」なので、以下の真理値表になります。
-------------------
| A | B | A AND B |
|---|---|---------|
| 0 | 0 | 0 |
|---|---|---------|
| 0 | 1 | 0 |
|---|---|---------|
| 1 | 0 | 0 |
|---|---|---------|
| 1 | 1 | 1 |
-------------------
●XOR演算(排他的論理和)
「eXclusive OR」という言葉を省略しています。
直訳すると「排他的なOR演算」で、演算対象の2つがお互いに異なるときに
真となります。
逆にお互いに同じ場合は、0・1に関係なく0(偽)となります。
真理値表は、以下のようになります。
-------------------
| A | B | A XOR B |
|---|---|---------|
| 0 | 0 | 0 |
|---|---|---------|
| 0 | 1 | 1 |
|---|---|---------|
| 1 | 0 | 1 |
|---|---|---------|
| 1 | 1 | 0 |
-------------------
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━