基数変換と論理演算
要点と定義
論理値は真偽を0と1で表します。論理積は両方が1のときだけ1、論理和は少なくとも一方が1なら1です。排他的論理和(XOR)は入力が異なるとき1、等しいとき0になります。一方の入力だけを反転すると出力も反転するため、二つのスイッチのどちらを切り替えても照明の状態が変わる条件に使えます。
XORの出力を否定すると、入力が等しいときに1となる等価演算です。等価演算とXORは、同じ二入力に対して出力が常に反対になります。
1桁の2進加算では、桁上がりは二つの入力の論理積、和の1桁目はXORで表せます。たとえば入力がともに1なら、桁上がりは1、和の1桁目は0です。
回路の出力を求めるには、ゲートごとの中間信号を式に置き換えて順に追います。たとえば「Aでない」とBの論理積、およびAとBの論理積を論理和でまとめると、Bだけが残ります。式を整理する方法と、入力を代入して出力を確かめる方法があります。 複数段の回路では、中間信号を先に求め、与えられた入力に対する各出力を個別に照合します。
基数変換では、各桁の値に桁の重みを掛けて合計します。n進数の右端からの重みは1、n、nの二乗……です。Aを0、Bを1のように文字へ値を割り当てる表記では、商と余りを上位桁と下位桁に対応させます。
ビットごとの論理積は、対応する桁の両方が1のときだけその桁を1にします。8ビットの値を0から255の範囲で循環させる場合、値を1増やしてから255との論理積を取ると、下位8ビットだけが残り、255の次は0になります。
適用条件と例
真理値表は入力の全組合せと出力を対応させる表です。二入力なら00、01、10、11を確認すれば、論理演算や回路の出力が条件を満たすかを確かめられます。複数出力の回路は、各出力が指定値になるかをそれぞれ照合します。論理積・論理和の回路でも、中間信号の値によって出力が変わるため、入力を具体的に代入して比較できます。
たとえば「A、またはAかつB」という条件は、Aが0なら全体が0、Aが1なら全体が1です。したがってBの値にかかわらず、この条件はAと同じです。式の整理では、入力が0の場合と1の場合に分けると確認しやすくなります。
誤りやすい点
論理和は「どちらか一方だけ」ではなく「少なくとも一方」です。XORと区別するときは、入力がともに1のケースも確認します。等価演算はXORそのものではなく、XORの出力を反転した演算です。
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む