論理演算と論理回路を理解する
コンピューターは、条件が成立するかを真と偽の二つの状態で扱います。論理演算は条件を結合したり反転したりする規則です。真を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の範囲を明記し、内側から中間値を求めると複雑な式も整理できます。
図解
重要ポイント
- ANDは両方、ORは少なくとも一方、XORは異なる入力で1。
- NOTは真と偽を反転する。
- ビット演算では桁ごとに真理値表を適用する。
- 全入力での出力一致が同値性の条件。
間違えやすい点
- ORには両方が真の場合も含む。
- 式全体を否定するときにANDとORの入替えを忘れない。
- 桁ごとの演算に算術の繰上がりを混ぜない。
用語解説
- 真理値表
- 入力の真偽の全組合せと、それぞれに対応する出力を並べた表。
- 排他的論理和
- XOR。二つの入力の真偽が異なる場合に真となる演算。
- 論理積
- AND。結合する条件が両方とも真の場合に真となる演算。
- 論理和
- OR。少なくとも一方の条件が真の場合に真となる演算。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。