Foxode IT基礎

IT基礎 / LESSON 06

論理演算

0と1を、条件が成り立つかどうかの答えとして使います。表を覚える前に、演算の意味をつかみます。

GOAL
0と1を偽・真として扱う
TRY
各演算の結果を条件から導く
FORMAT
全10ステップ・テキスト版
01

条件の答え

0は偽、1は真

偽 / False / 成り立たない0
真 / True / 成り立つ1

「利用登録は済んでいる?」→ YESなら1、NOなら0

FOXODE GUIDEVOICE 001

ここからは、ゼロと一を、数の大きさではなく、条件の答えとして使います。条件が成り立たないならゼロ。成り立つなら一。偽と真、または、オフとオンと考えても大丈夫です。

02

AND / 論理積

両方とも必要

ABA AND B
000
010
100
111

学生証がある AND 利用登録済み → 入室できる

FOXODE GUIDEVOICE 002

アンドは、二つの条件が、どちらも成り立つときだけ一になります。学生証を持っていて、さらに、利用登録も済んでいる。この二つがそろったときだけ、入室できる仕組みです。

03

OR / 論理和

ひとつ以上ならよい

ABA OR B
000
011
101
111

暗証番号 OR 指紋認証 → どちらかが成功すれば開く

FOXODE GUIDEVOICE 003

オアは、少なくとも一方が成り立てば一になります。暗証番号でも、指紋認証でも、どちらかが成功すればロックが開きます。両方とも成功した場合も一です。ここが、普段の「どちらか」という言葉と少し違うところです。

04

NOT / 否定

答えを反対にする

ANOT A
01
10
0 → 1偽を真へ
1 → 0真を偽へ
FOXODE GUIDEVOICE 004

ノットは、答えを反対にする演算です。ゼロは一に、一はゼロになります。入力は一つだけです。「エーではない」と考えると、意味をつかみやすくなります。

05

XOR / 排他的論理和

どちらか一方だけ

ABA XOR B
000
011
101
110

1 OR 1 = 1 / 1 XOR 1 = 0

FOXODE GUIDEVOICE 005

エックスオアは、二つのうち、ちょうど一方だけが一のときに一になります。両方ともゼロならゼロ。両方とも一でもゼロです。二つのクーポンのうち、一つだけ選べる仕組みを想像してみよう。

06

ビット列の演算

同じ桁どうしで判断する

A1010
B1100
AND1000
OR1110
XOR0110

各桁を別々に判断する。足し算ではないので桁上がりしない。

FOXODE GUIDEVOICE 006

ビットが並んでいても、使うルールは同じです。同じ位置のビットどうしを、一桁ずつ判断します。いち、ゼロ、いち、ゼロと、いち、いち、ゼロ、ゼロをアンドすると、いち、ゼロ、ゼロ、ゼロ。オアすると、いち、いち、いち、ゼロ。エックスオアすると、ゼロ、いち、いち、ゼロです。足し算ではないので、桁上がりはありません。

07

NAND / 否定論理積

ANDしてから反転する

NAND = NOT (A AND B)

A・B → AND → NOT → NAND

ABANDNAND
0001
0101
1001
1110
FOXODE GUIDEVOICE 007

ナンドは、最初にアンドを計算し、その答えをノットで反対にしたものです。アンドが一になるのは、両方とも一のときだけ。その答えを反転するので、ナンドでは、両方とも一のときだけゼロになります。

08

NOR / 否定論理和

ORしてから反転する

NOR = NOT (A OR B)

ABORNOR
0001
0110
1010
1110
FOXODE GUIDEVOICE 008

もう一つだけ見ておこう。ノアは、オアの答えを反対にした演算です。オアは、一方でも一なら一でした。そのためノアは、両方ともゼロのときだけ一になります。

09

確認してみよう

A = 1、B = 1 のときは?

FOXODE GUIDEVOICE 009

エーとビーが、どちらも一です。このとき、エックスオアとナンドの結果は、どの組み合わせになるでしょう?

  1. AXOR 0 / NAND 0
  2. BXOR 0 / NAND 1
  3. CXOR 1 / NAND 0
答えを確かめる

正解は A:XOR = 0 / NAND = 0

正解したときVOICE 009A

その通り。正解はエーです。エックスオアは、ちょうど一方だけが一のときに一なので、今回はゼロ。ナンドは、まずアンドすると一になり、それを反転するのでゼロです。

もう一度考えるときVOICE 009B

だいじょうぶ。演算を一つずつ考えよう。エックスオアは、二つが同じならゼロです。ナンドは、先にアンドを計算してから、その答えを反対にしてみよう。

10

まとめ

名前ではなく、1になる条件で考える

AND両方とも11 AND 1 = 1
ORひとつ以上が11 OR 0 = 1
NOT元の答えを反転NOT 1 = 0
XORちょうど一方だけ11 XOR 1 = 0
NANDANDを反転NOT (A AND B)
NORORを反転NOT (A OR B)
FOXODE GUIDEVOICE 010

論理演算は、名前だけを暗記しなくても大丈夫です。アンドは両方。オアは一つ以上。エックスオアは一つだけ。ノットは反転です。ナンドとノアは、先に元の演算を考えてから、最後に答えを反転します。表は暗記するものではなく、すべての組み合わせを確かめるための道具です。

0と1で、条件を組み立てられるようになりました。