基本情報技術者試験対策(14)「なぜ論理演算を学ぶのか?(1)」

スポンサーリンク
IT系

コンピュータにできる演算の種類

コンピュータにできる演算は、 加算、 減算、 乗算、 除算の四則演算だけはない。シフト演算(桁をずらす演算) や、 これからご紹介する論理演算もある。

論理演算の用途には、条件を結び付けること、データを部分的に変化させることなどがあり、どれも試験の出題テーマになっている。また、コンピュータの内部的な仕組みとして、 論理演算で加算を実現していることも試験の出題テーマになっている。

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演算(論理積)

ABA AND B説明
両方とも偽なので偽
Aが偽なので全体は偽
Bが偽なので全体は偽
両方真なので真

② OR演算(論理和)

ABA OR B説明
どちらも偽なので偽
Bが真なので真
Aが真なので真
両方真でも真

③ NOT演算(否定)

ANOT A説明
偽を否定すると真
真を否定すると偽

論理演算の真偽は、2通りの情報なので、 1ビットの2進数で符号化できる。例えば、真を1に、偽を0に符号化すれば、 AND 演算、 OR演算、NOT演算の真理値表は、 下図のようになる。

① AND演算(論理積)

ABA AND B説明
000両方とも偽なので偽
010Aが偽なので全体は偽
100Bが偽なので全体は偽
111両方真なので真

② OR演算(論理和)

ABA OR B説明
000どちらも偽なので偽
011Bが真なので真
101Aが真なので真
111両方真でも真

③ NOT演算(否定)

ANOT A説明
01偽を否定すると真
10真を否定すると偽

これらの真理値表を、 丸暗記する必要はない。AND演算が「かつ」、OR演算が「または」、NOT 演算が 「でない」 という意味だとわかっていれば、自然に理解できることだからである。

参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]2025年版

コメント

タイトルとURLをコピーしました