コンピュータにできる演算の種類
コンピュータにできる演算は、 加算、 減算、 乗算、 除算の四則演算だけはない。シフト演算(桁をずらす演算) や、 これからご紹介する論理演算もある。
論理演算の用途には、条件を結び付けること、データを部分的に変化させることなどがあり、どれも試験の出題テーマになっている。また、コンピュータの内部的な仕組みとして、 論理演算で加算を実現していることも試験の出題テーマになっている。
AND演算、OR演算、 NOT 演算
基本的な論理演算の種類には、AND演算、OR 演算、 NOT演算がある。
論理演算は、難しい演算でも、不思議な演算でもない。 四則演算やシフト演算と同様に、人間の感覚として自然に理解できる演算である。 演算の意味は、英語の意味そのものである。 AND演算は「かつ」を、OR演算は「または」を、 NOT演算は「でない」を意味している。
例えば、 基本情報技術者試験に合格する条件は、 「科目Aの得点が600点以上である、かつ、 科目Bの得点が600点以上である」 である。 これを論理演算で示すと、「科目Aの得点が600点以上である AND 科目Bの得点が600点以上である」 になる。
逆に、基本情報技術者試験に不合格となる条件は、 「科目Aの得点が600点 以上でない、 または、 科目Bの得点が600点以上でない」 である。 これを論理演算で示すと、「(NOT 科目Aの得点が600点以上である) OR(NOT 科目Bの得点が600点以上である)」になる。
このように、私たちの日常生活では、自然に「かつ(AND)」「または (OR)」「でない(NOT)」という言葉を使っている。 それを演算とみなしたものが、論理演算である。
真と偽
論理演算は、命題を対象とした演算である。 命題とは、「科目Aの得点が600 点以上である」 のように真 (true) か偽 (false) を判断できる文のことである。 真か偽を判断できる条件のことであると考えてもよいだろう。真と偽のことを真理値と呼ぶ。 真偽値や論理値と呼ぶこともある。
四則演算に2+3=5や7ー4=3のような演算結果があるように、 論理演算にも演算結果がある。 それは、やはり真と偽である。 例えば、「科目Aの得点が600点以上である AND 科目Bの得点が600点以上である」 というAND 演算は、「科目Aの得点が600点以上である」 という条件と、 「科目Bの得点が600点以上である」という条件が、 両方とも真のとき、 演算結果が真になる。 これを四則演算と同様の式に表すと、 「真 AND 真=真」 になる。
真理値表
論理演算の結果を表にまとめたものを真理値表と呼ぶ。 下図は、AND演算、 OR 演算、 NOT演算の真理値表である。 AやBは、何らかの条件である。 A AND B の結果は、Aが真かつBが真のとき、 真になる。 A OR Bは、 Aが真またはBが真のとき、真になる。 NOT A は、Aの値を反転(真を偽に、偽を真に)する。
① AND演算(論理積)
| A | B | A AND B | 説明 |
|---|---|---|---|
| 偽 | 偽 | 偽 | 両方とも偽なので偽 |
| 偽 | 真 | 偽 | Aが偽なので全体は偽 |
| 真 | 偽 | 偽 | Bが偽なので全体は偽 |
| 真 | 真 | 真 | 両方真なので真 |
② OR演算(論理和)
| A | B | A OR B | 説明 |
|---|---|---|---|
| 偽 | 偽 | 偽 | どちらも偽なので偽 |
| 偽 | 真 | 真 | Bが真なので真 |
| 真 | 偽 | 真 | Aが真なので真 |
| 真 | 真 | 真 | 両方真でも真 |
③ NOT演算(否定)
| A | NOT A | 説明 |
|---|---|---|
| 偽 | 真 | 偽を否定すると真 |
| 真 | 偽 | 真を否定すると偽 |
論理演算の真偽は、2通りの情報なので、 1ビットの2進数で符号化できる。例えば、真を1に、偽を0に符号化すれば、 AND 演算、 OR演算、NOT演算の真理値表は、 下図のようになる。
① AND演算(論理積)
| A | B | A AND B | 説明 |
|---|---|---|---|
| 0 | 0 | 0 | 両方とも偽なので偽 |
| 0 | 1 | 0 | Aが偽なので全体は偽 |
| 1 | 0 | 0 | Bが偽なので全体は偽 |
| 1 | 1 | 1 | 両方真なので真 |
② OR演算(論理和)
| A | B | A OR B | 説明 |
|---|---|---|---|
| 0 | 0 | 0 | どちらも偽なので偽 |
| 0 | 1 | 1 | Bが真なので真 |
| 1 | 0 | 1 | Aが真なので真 |
| 1 | 1 | 1 | 両方真でも真 |
③ NOT演算(否定)
| A | NOT A | 説明 |
|---|---|---|
| 0 | 1 | 偽を否定すると真 |
| 1 | 0 | 真を否定すると偽 |
これらの真理値表を、 丸暗記する必要はない。AND演算が「かつ」、OR演算が「または」、NOT 演算が 「でない」 という意味だとわかっていれば、自然に理解できることだからである。
(参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]2025年版


コメント