論理演算と論理回路を理解する

コンピューターは、条件が成立するかを真と偽の二つの状態で扱います。論理演算は条件を結合したり反転したりする規則です。真を1、偽を0として真理値表を作ると、文章や回路の動きを確かめられます。

この単元で学ぶこと

  • AND・OR・NOT・XORの真理値を求める
  • 文章の条件を論理式へ対応付ける
  • 桁ごとの演算と通常の足し算を区別する
  • 全入力を調べて式の同値を判断する

本文解説

真と偽を表す 条件が成立すれば真1、成立しなければ偽0とします。これはここでの記号の約束で、金額などを計算する数値とは区別します。二つの入力A、Bには00、01、10、11の4組があり、それぞれの出力を並べた表が真理値表です。

ANDは両方を要求する A AND Bは両方1のときだけ1。00→0、01→0、10→0、11→1です。入場に会員証と予約の両方が必要ならANDで表せます。一方が0と分かった時点で、もう一方の値にかかわらず結果は0になります。

ORは少なくとも一方 A OR Bは00→0、01→1、10→1、11→1。両方1も含むことが重要です。会員証か招待状があれば入場できる場合、両方持つ人も入れる条件になります。どちらか片方だけという意味にはなりません。

NOTとXOR NOTは0→1、1→0と反転します。XORは00→0、01→1、10→1、11→0で、二つの入力が異なるときだけ1です。ORとXORの違いは両方1の場合です。NOTは入力一つ、XORはこの例では入力二つを使います。

ビット列に適用する 1100 AND 1010=1000。桁をそろえて左から1 AND 1、1 AND 0、0 AND 1、0 AND 0を計算します。同じ入力でORは1110、XORは0110です。各桁を独立に計算するので、整数の加算のような繰上がりはありません。

否定とド・モルガンの法則 NOT(A OR B)はNOT A AND NOT Bに等しく、NOT(A AND B)はNOT A OR NOT Bに等しくなります。「どちらもない」は「Aでない、かつBでない」。「両方あるわけではない」は片方だけない場合も含みます。括弧全体の否定と各項の否定を区別します。

式を回路として捉える AND、OR、NOT、XORのゲートを線で接続して組合せ回路を作れます。二つの1ビット値を足す半加算器では、和の下位ビットがXOR、桁上がりがANDです。1と1なら和は0、桁上がり1で、全体は2進数10になります。これは桁ごとのXORだけで整数加算全体を代用できない理由です。

真理値表で検証する 入力n個なら2のn乗通りあります。式の同値は全入力に対する出力の一致で確かめます。入力2個で00だけを試して一致しても、他の3組で違う可能性があります。括弧とNOTの範囲を明記し、内側から中間値を求めると複雑な式も整理できます。

図解

二つの入力に対する真理値
真を1、偽を0とする。複合条件では括弧を付け、適用範囲を明確にする。

重要ポイント

  • ANDは両方、ORは少なくとも一方、XORは異なる入力で1。
  • NOTは真と偽を反転する。
  • ビット演算では桁ごとに真理値表を適用する。
  • 全入力での出力一致が同値性の条件。

間違えやすい点

  • ORには両方が真の場合も含む。
  • 式全体を否定するときにANDとORの入替えを忘れない。
  • 桁ごとの演算に算術の繰上がりを混ぜない。

用語解説

真理値表
入力の真偽の全組合せと、それぞれに対応する出力を並べた表。
排他的論理和
XOR。二つの入力の真偽が異なる場合に真となる演算。
論理積
AND。結合する条件が両方とも真の場合に真となる演算。
論理和
OR。少なくとも一方の条件が真の場合に真となる演算。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。