論理回路
このノートの問いがそのまま復習カードになり、忘れかけたころに出題されます。
0. どういうまとまりか
コンピュータの中の計算は、0 と 1 を入力して 0 か 1 を出す小さな回路の組み合わせでできています。
この回路を論理回路といい、基本は次の 4 つです。入力 A・B と出力の関係を、すべての組み合わせについて並べた表を真理値表といいます。
| A | B | AND(論理積) | OR(論理和) | XOR(排他的論理和) | NOT A(否定) |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 |
分かれ目は次の 3 つ。
- AND は「両方 1」のときだけ 1、OR は「両方 0」のときだけ 0。
- OR と XOR は、入力が両方 1 のときだけ違う(OR は 1、XOR は 0)。
- 半加算器の和は XOR、桁上がりは AND で作る。
1. 基本の論理回路
根拠: 学習指導要領 情報Ⅰ-(3)-ア-(ア)
1 は「真(電圧が高い)」、0 は「偽(電圧が低い)」を表します。
AND は直列につないだスイッチ(両方入れないと電気が流れない)、OR は並列につないだスイッチ(どちらかを入れれば流れる)と考えると覚えやすくなります。
AND 回路(論理積)の出力が 1 になるのは、どんなときか?
入力がすべて 1 のときだけ
1 つでも 0 があれば出力は 0。「A かつ B」。
OR 回路(論理和)の出力が 0 になるのは、どんなときか?
入力がすべて 0 のときだけ
1 つでも 1 があれば出力は 1。「A または B」。
NOT 回路(否定)は、入力をどう変えるか?
0 を 1 に、1 を 0 に反転する
入力は 1 つだけ。
XOR 回路(排他的論理和)の出力が 1 になるのは、どんなときか?
2 つの入力が異なるとき(一方が 0 で他方が 1)
両方 0、両方 1 のときは 0。「どちらか一方だけ」。
入力 A・B がともに 1 のとき、OR と XOR の出力はそれぞれいくつか?
OR は 1、XOR は 0
OR と XOR の真理値表が違うのは、この 1 行だけ。
入力が 2 つの論理回路の真理値表は、何行になるか?
4 行
入力の組み合わせは 0 と 0、0 と 1、1 と 0、1 と 1 の 4 通り。入力が 3 つなら 8 行になる。
NAND 回路の出力は、AND 回路とどういう関係にあるか?
AND の出力を NOT で反転したもの
入力がすべて 1 のときだけ 0、それ以外は 1。
2. 回路図記号
根拠: 学習指導要領 情報Ⅰ-(3)-ア-(ア)
回路図では、左から入力が入り、右へ出力が出るように記号を描きます。形の違いで回路の種類を見分けます。
AND 回路の回路図記号は、どんな形か?
入力側がまっすぐで、出力側が半円に丸くふくらんだ形(D の字の形)
OR 回路の回路図記号は、どんな形か?
入力側が内側へへこんだ曲線で、出力側がとがった形(矢じりの形)
NOT 回路の回路図記号は、どんな形か?
三角形の先に小さな丸(○)を付けた形
小さな丸は「反転する」ことを表す。NAND の記号も、AND の記号の出口に小さな丸を付けたもの。
XOR 回路の回路図記号は、OR 回路の記号とどこが違うか?
入力側に、もう 1 本の曲線が重ねて描かれている
3. 半加算器
根拠: 学習指導要領 情報Ⅰ-(3)-ア-(ア)
1 桁の 2 進数どうしを足すと、結果は「その桁の値(和)」と「上の桁への桁上がり」の 2 つになります。
これを出す回路が半加算器です。
| A | B | 桁上がり C | 和 S |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
和 S の列は XOR と、桁上がり C の列は AND と同じ並びになっています。
半加算器とは、何をする回路か?
1 桁の 2 進数 2 つを足して、和と桁上がりを出す回路
1 と 1 を足すと、和は 0、桁上がりは 1 になる(2 進数の 10)。
半加算器の和と桁上がりは、それぞれ何の回路で作るか?
和は XOR 回路、桁上がりは AND 回路
真理値表を並べると、和の列は XOR と、桁上がりの列は AND と一致する。
下の桁からの桁上がりも含めて、1 桁ぶんを 3 つの入力で足す回路を何というか?
全加算器
半加算器 2 つと OR 回路 1 つで作れる。全加算器を並べると、何桁の 2 進数でも足せる。
練習問題
問 1 入力 A・B に対して、出力 X を「A と B の OR を NOT で反転したもの」とする。真理値表を埋めよ。
A
B
X
0
0
?
0
1
?
1
0
?
1
1
?
| A | B | X |
|---|---|---|
| 0 | 0 | ? |
| 0 | 1 | ? |
| 1 | 0 | ? |
| 1 | 1 | ? |
上から 1・0・0・0
まず OR を出すと、上から 0・1・1・1。これを NOT で反転すると 1・0・0・0。
入力がすべて 0 のときだけ 1 になる。この回路を NOR 回路という。
問 2 入力 A・B に対して、出力 X を「A の NOT と B の AND」とする。真理値表を埋めよ。
A
B
X
0
0
?
0
1
?
1
0
?
1
1
?
| A | B | X |
|---|---|---|
| 0 | 0 | ? |
| 0 | 1 | ? |
| 1 | 0 | ? |
| 1 | 1 | ? |
上から 0・1・0・0
A の NOT は上から 1・1・0・0。これと B(上から 0・1・0・1)の AND をとると、両方 1 なのは 2 行目だけ。
「A が 0 で、B が 1」のときだけ 1 になる。