足し算、引き算、掛け算、割り算のことを四則演算と呼びますがコンピュータは四則演算ができません。(足し算のみできます)
ですから論理演算という別の方法を用いて四則演算やその他の計算を実現します。
試験のポイントとして論理演算の問題が出たらまずベン図を書くようにすると良いでしょう。
論理演算の計算方法
論理演算は2進数の一桁のみを対象にした演算の方法になります。扱う数値は0と1のみです。そして計算結果も0か1になるという特徴があります。
四則演算の演算子は+、ー、X、➗の4種類ですが、対して論理演算の演算子はAND、OR、XOR、NOTの4種類です。
論理演算子の種類と呼び方
AND、OR、XOR、NOTという4種類を出しましたがこれらは別名もありますので最初に書いておきます。
ANDは論理積|ORは論理和|XORは排他的論理和|NOTは否定
NOTの否定とXORの排他的論理和は覚えやすいのでそこを覚えればXORから論理和が導き出され、ANDが論理積となるので覚えやすいと個人的には思います。
呼び方 | 演算子 | 論理式 | 説明 |
---|---|---|---|
論理積 | AND | A・B | AとBの両方が1の場合、答えが1になる論理演算です。論理積とも呼ばれます。(ここでの積は掛け算のことではなく積集合の積のことです。) |
![]() | |||
論理和 | OR | A+B | AとBの少なくとも一方が1の場合に答えが1になる論理演算です。論理和とも呼ばれます。 |
![]() | |||
排他的論理和 | XOR | A![]() | AとBが異なる場合に1、AとBが同じ場合に0になる論理演算です。排他的論理和とも呼ばれます。 |
![]() | |||
否定 | NOT | ![]() | 入力の反対が答えになる論理演算です。否定とも呼ばれます。 |
![]() |
四則演算の結果は無限にあるのに対して、論理演算の結果は数が限られているので以下のようにまとめることができます。この表は真理値表と呼ばれます。
AND演算|論理積の真理値表
A | B | A AND B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
OR演算|論理和の真理値表
A | B | A OR B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
XOR演算|排他的論理和の真理値表
A | B | A XOR B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
NOT演算|否定の真理値表
A | NOT A |
---|---|
0 | 1 |
1 | 0 |
NANDとNOR
NAND(否定論理積)|NOT AND
論理積と否定を組み合わせた演算でAND演算の答えを全て反転させたものになります。
A | B | A NAND B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
![](https://www.xn--4grr4jzer0z13b8ydc6hw8c14slx0cfdtdwftp3d.website/wp-content/uploads/2023/06/NAND.png)
NOR(否定論理和)|NOT OR
論理和と否定を組み合わせた演算でNORではOR演算の答えをすべて反転させます。
A | B | A NOR B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
![](https://www.xn--4grr4jzer0z13b8ydc6hw8c14slx0cfdtdwftp3d.website/wp-content/uploads/2023/06/NOR.png)
論理演算子の意味|出題ポイント
ここまでのベン図、真理値表を覚えておくと論理演算子の意味を問われる問題に対処しやすくなります。
論理演算子の優先順位
四則演算と同じく論理演算にも優先順位があります。
以下は基本情報技術者試験で必要な範囲の優先順位です。細かくもっとあるようですが今回はまず以下を覚えましょう。
括弧 > NOT > AND > OR
重要なポイントとしてANDはORよりも優先順位が高い(先に演算する)があります。
具体的に計算例を見てみます。
まずはA OR B AND Cという式があった場合を考えてみましょう。
1.B AND Cを計算します。
![](https://www.xn--4grr4jzer0z13b8ydc6hw8c14slx0cfdtdwftp3d.website/wp-content/uploads/2023/06/BandC-1024x929.png)
2.次にAとORで考えるのがBではなくB AND Cの結果(↑の図の範囲)ということに注意しましょう。演算の結果として以下のようになります。
![AorBandC](https://www.xn--4grr4jzer0z13b8ydc6hw8c14slx0cfdtdwftp3d.website/wp-content/uploads/2023/06/AorBandC-1024x929.png)
コメントを残す