論理演算と真理値表
要点と定義
命題は、真か偽かが定まる文です。命題の真偽を真理値といい、ここでは真を1、偽を0で表します。否定は真偽を反転し、論理積(AND)は両方が真のときだけ真、論理和(OR)は少なくとも一方が真なら真です。排他的論理和(XOR)は二つの値が異なるとき真になります。NANDはANDの否定、NORはORの否定です。たとえばNANDは、両入力が1のときだけ0になります。
真理値表は、入力の全組合せごとに演算結果を示す表です。二入力なら組合せは00、01、10、11の四つです。回路や式を読むときは、入力から順に演算し、各組合せで結果が条件に合うか確かめます。複数の条件を論理式で表す場合も、否定・AND・ORを各真理値に適用します。たとえばPが真で、¬P OR Qも真なら、¬Pは偽なのでQは真です。さらに¬Q OR Rも真なら、¬Qは偽となるためRも真です。
論理演算はビット列にも適用できます。ANDでは両方の対応ビットが1のときだけ結果が1になるため、必要なビットだけを残すマスクとして使えます。8ビット値の最上位ビットを0にして下位7ビットを保つには、01111111₂(7F₁₆)とANDを取ります。下位7ビットはマスクの1によって保持され、最上位ビットはマスクの0によって必ず0になります。
回路の構成から出力を求める場合は、各ゲートの論理式を順につなぎます。入力を反転してからNANDに入れる構成では、¬(¬A AND ¬B)となり、ド・モルガンの法則によりA OR Bです。その結果をさらに反転すればNORになります。入力信号の各区間についてこの規則を適用すれば、出力の波形を求められます。
適用条件と例
演算記号が未知でも、その演算を含む式の真理値が分かれば、入力ごとの結果を逆算できることがあります。たとえばX AND (X □ Y) と X OR (X □ Y) が分かるとします。X=0なら、前者は必ず0、後者は□の結果と同じです。X=1なら、前者は□の結果と同じ、後者は必ず1です。したがって、各行で□の値を取り出せます。X=0の二行でOR側が1なら□の値はどちらも1、X=1の二行でAND側が0、1なら□の値はそれぞれ0、1です。
NORは¬(A OR B)なので、入力がどちらも0のときだけ出力が1です。波形では区間ごとにAとBを読み、両方が低い区間を高、それ以外を低とします。各区間を独立に判定すると、信号全体の時間順を取り違えにくくなります。回路に複数段ある場合は、途中のゲート出力を先に求めてから次段へ進みます。
この節の続き
- 誤りやすい点
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む