論理回路シミュレータ

コンピュータの中身は、0と1を組み合わせる「論理ゲート」でできています。ゲートを選び、入力 A・B の丸をクリックして0/1を切り替えると、出力と真理値表が連動します。下の半加算器では、ゲートを組み合わせて「2進1桁の足し算」ができる様子も確かめられます。

基本ゲート — 入力をクリックして動かす

0A 0B 0出力

入力 A・B(左の丸)をクリックすると 0⇄1 が切り替わります。真理値表の現在の行が青くハイライトされます。

半加算器 — ゲートを組み合わせて足し算する

2進の1桁どうしの足し算です。和 S=A XOR B桁上げ C=A AND B。A・Bをクリックして、1+1=10(桁上げ1・和0)になることを確かめてください。

XOR AND 0A 0B 0和 S 0桁上げ C

A・Bをクリックして切り替え。C(桁上げ)とS(和)が変わります。

論理ゲートとは

論理ゲートは、0か1の入力を受け取り、決められたルールで0か1を出力する部品です。すべての入力の組み合わせに対する出力を一覧にしたものが真理値表です。基本の3つは AND(論理積)・OR(論理和)・NOT(否定)で、これらを組み合わせてあらゆる回路が作れます。

ゲート意味出力が1になる条件
AND(論理積)A かつ BA・B の両方が1
OR(論理和)A または BA・B のどちらかが1
NOT(否定)反転入力が0のとき
XOR(排他的論理和)不一致A と B が異なるとき
NANDANDの否定両方が1のとき以外
NORORの否定両方が0のとき
XNOR(一致)XORの否定A と B が同じとき

MIL記号(図記号)に慣れる

基本情報では、ゲートの図記号(MIL記号)と名前・真理値表を結びつける問題が頻出です。上のシミュレータの形が図記号そのものです。ANDは「D」の形、ORは弾丸のような形、XORはORの後ろにもう1本線、そして出力側の小さな丸(○)は否定を表します(AND+○=NAND、OR+○=NOR)。この「○=否定」を覚えると、NAND/NOR/XNORは一気に分かります。

NANDだけで全部作れる(万能ゲート)

NANDゲートだけを組み合わせると、AND・OR・NOTを含むあらゆる回路が作れます(NORも同様に万能)。例えば、NANDの2入力を同じ信号にするとNOTになります(A NAND A = Aの否定)。この「万能性」も試験で問われるポイントです。

ド・モルガンの法則

否定を分配するときの重要な等式です。「ANDの否定=それぞれの否定のOR」「ORの否定=それぞれの否定のAND」。式で書くと以下。回路の変形や簡単化でよく使います。

法則
ANDの否定 ̄(A・B) = Ā + B̄
ORの否定 ̄(A+B) = Ā ・ B̄

半加算器と全加算器

半加算器(Half Adder)は、2進1桁どうしの足し算をする回路で、和 S=A XOR B桁上げ C=A AND Bで作れます(上のシミュレータ)。ただし半加算器は「下の桁からの桁上がり」を受け取れません。そこで、下位からの桁上げも足せるようにしたのが全加算器(Full Adder)で、半加算器を2つ+ORゲートで構成します。全加算器を桁数ぶんつなげると、複数ビットの加算器になります。

基本情報技術者試験ではこう出る

「図記号(MIL記号)が表すゲットはどれか」「真理値表から論理式を求める/論理式を簡単化する」「半加算器の和・桁上げの論理式」「ド・モルガンの法則」「NANDの万能性」などが定番です。まず図記号と真理値表を一致させられることが土台になります。上のシミュレータで、各ゲートの入力を全パターン切り替えて真理値表を体で覚えるのが近道です。2進数そのものの計算は基数変換ツールもどうぞ。

よくある質問

Q. XORはどんなときに使う?
A. 「2つが違うかどうか」を判定するのがXORです。足し算の和(桁上げを除いた部分)や、パリティ(誤り検出)、簡単な暗号(同じ鍵で2回XORすると元に戻る)などに使われます。

Q. 真理値表から論理式を作るには?
A. 出力が1になる行に注目し、その行の入力の組み合わせ(0はその変数の否定、1はそのまま)をANDでつなぎ、それらをORで足します(加法標準形)。例:XORは Ā・B + A・B̄