論理演算の種類とパターンについて|基本情報技術者試験のポイント解説!

更新日:2021年8月24日

計算式を書いてる手元

基本情報技術者試験を受けるにあたり初めてコンピュータの処理方法について学ぶ方にとっては、論理演算は難所の一つとなるでしょう。しかし、難しそうに感じる論理演算も、実はパターンさえ押さえてしまえば簡単な処理の組み合わせにすぎません。

この記事では、基本情報技術者試験の対策として論理演算について解説を行います。

目次

論理演算とは

通常、計算というと数字同士を足したり引いたりすることをイメージするのではないでしょうか。コンピュータの世界では、これを算術演算といいます。

一方で、コンピュータの世界ではもう一つの演算方法があります。それが論理演算です。論理演算とは、ある事象が真か偽かを判断する演算のことです。

コンピュータの世界では、真を1として、偽を0として扱いますので、論理演算の結果は必ず0か1となります。論理演算においては、2つの真偽値を入力し、演算結果として真偽のいずれかを出力します。

例えば、代表的な論理演算であるAND演算では、入力に真(1)と真(1)を与えたら、結果は真(1)となりますし、入力に真(1)と偽(0)を与えたら、結果は偽(0)となります。

論理演算と算術演算の違い

上述の通り、算術演算とは一般的な四則演算のことを言い、数値を足したり引いたりすることです。算術演算においては、任意の桁数の数字を処理できます。

一方で論理演算では入力も出力も0と1で実施します。ここに両者の大きな違いがあります。

コンピュータの世界は0と1でできているということを聞いたことがあるかもしれません。実は、コンピュータの世界においては、すべての演算処理が論理演算の組み合わせで実現されています。算術演算も例外ではなく、どんなに桁数が大きい計算であったとしても、0と1の計算に分解したうえで実施されているのです。

コンピュータ内部では、0と1の処理を高速で実行することで、大きな桁の数字の足し算や掛け算などを処理しています。

論理回路

コンピュータ内には、論理演算を行うための物理的な回路が組み込まれています。これを論理回路といいます。

論理回路は、またの名をICといいます。ICはICチップやICカードなどの名称で知られていますので、もしかするとこの表現のほうが理解しやすい方も多いかもしれません。

上述のとおり、コンピュータにおいてはすべての処理や計算を0と1で実現していますので、算術演算やロジック処理を実施するためには多数の論理回路が必要となります。処理を実現するために、コンピュータ内部にはAND演算やOR演算などを行う論理回路が大量に搭載されており、高速で動作しています。

論理演算の表記法

算術演算と違い、論理演算は直感的ではなくわかりにくいものです。よって、論理演算を表記する際には、MIL記号や真理値表、ベン図といった手法により可視化されることが多いです。

MIL記号とは、MIL規格により定められた論理演算を表現するための記法であり、AND演算やOR演算などの論理演算ごとに図形が割り当てられており一目で論理回路の構成が分かるようになっています。

また、真理値表は、論理演算の入力パターンごとの出力結果を表で表したものです。

ベン図は視覚的に論理演算の結果を理解できるように用いられる図形で、例えばAND演算であればAの円とBの円が重なる箇所のみが真であり、それ以外は偽であることが一目でわかるようになります。

基本的な論理演算

以下では、基本的な論理演算について解説します。基本的な論理演算は、論理和(OR演算)、論理積(AND演算)、否定(NOT演算)の3つから構成されます。

論理和(OR)

論理和(OR演算)は、入力されたX、Yのうちいずれかが真(1)なら答えも真(1)となる論理演算のことです。X or Yという演算ですので、『X「または」Yが真なら真』と覚えるとよいでしょう。

論理和を上記で紹介した真理値表で示すと、以下のパターンで表現できます。

入力1 入力2 出力
偽(0) 偽(0) 偽(0)
偽(0) 真(1) 真(1)
真(1) 偽(0) 真(1)
真(1) 真(1) 真(1)

論理積(AND)

論理積(AND演算)は、入力されたX、Yの両方が1なら答えも1となる論理演算のことです。X and Yという演算ですので、『X「かつ」Yが真なら真』と覚えるとよいでしょう。

論理積を真理値表で示すと、以下のパターンで表現できます。

入力1 入力2 出力
偽(0) 偽(0) 偽(0)
偽(0) 真(1) 偽(0)
真(1) 偽(0) 偽(0)
真(1) 真(1) 真(1)

否定(NOT)

否定(NOT演算)は、入力されたXが1なら答えは0、0なら答えは1となる論理演算のことです。否定の論理演算は単純に入力を反対に出力すると覚えるとよいでしょう。

否定を真理値表で示すと、以下のパターンで表現できます。

入力 出力
偽(0) 真(1)
真(1) 偽(0)

複合的な論理演算

以下では、複合的な論理演算について解説します。複合的な論理演算は、上述した論理和、論理積、否定を組み合わせたものです。ここから少し難しい内容となりますので、注意して理解するようにしてみてください。

排他的論理和(XOR)

排他的論理和(XOR演算)は、入力されたX、Yが異なる場合に答えが1となり、同じ時に0となる論理演算のことです。少し理解しにくい内容ですので、まず初めに以下の真理値表で整理します。

入力1 入力2 出力
偽(0) 偽(0) 偽(0)
偽(0) 真(1) 真(1)
真(1) 偽(0) 真(1)
真(1) 真(1) 偽(0)

排他的論理和の覚え方は様々ありますが、一つは論理和から論理積を引いたものと覚える方法があります。論理和では入力が一つでも真の場合、出力が真となりますが、ここから論理積に相当する入力がいずれも真の場合を除きます。

そうすると、入力のうちどちらかが真の場合が残り、排他的論理和に相当する出力結果と一致します。

否定論理和(NOR)

否定論理和は、入力されたX、Yのうちいずれかが1なら答えが0となる論理演算のことです。同様に、まず真理値表で整理します。

入力1 入力2 出力
偽(0) 偽(0) 真(1)
偽(0) 真(1) 偽(0)
真(1) 偽(0) 偽(0)
真(1) 真(1) 偽(0)

否定論理和は、その名前の通り論理和に否定演算を行ったものと覚えるとわかりやすいでしょう。つまり、論理和の結果をすべて反対にしたのが否定論理和です。

否定論理積(NAND)

否定論理積は、入力されたX、Yのうち両方が1なら答えが0となる論理演算のことです。同様に、以下の真理値表で整理します。

入力1 入力2 出力
偽(0) 偽(0) 真(1)
偽(0) 真(1) 真(1)
真(1) 偽(0) 真(1)
真(1) 真(1) 偽(0)

否定論理積も、その名称のとおり論理積に否定演算を行ったものと捉えるとよいでしょう。論理積では、入力のどちらも真の場合は結果が真となりますが、その結果を反対にすると、否定論理積の結果と一致します。

まとめ

この記事では、基本情報技術者試験を受けようとされている方に向けて、論理演算に関する内容の解説を行いました。特にコンピュータに関する学習を行ったことが無かったり、数学に関する知識があまりなかったりすると、論理演算を難しいものに感じてしまうかもしれません。

しかし、上述の通り、複雑な論理演算であったとしても、実は簡単な論理演算の組み合わせでできています。ポイントを捉えて学ぶことで、論理演算も理解しやすくなるでしょう。

基本情報技術者コラム一覧へ戻る