フィジカルコンピューティング with Raspberry PI Pico
8 論理演算と論理回路

たとえばシェルにprint(1 and 0)を入力してEnterキーを押すと0が表示されるますが、これは何を意味するのでしょう? この理解には、LEDの点灯と消灯が役に立ちます。

LEDの点灯と消灯と、電気や電圧、オン/オフ、True/Falseとの関係は、次の表で表されます。

LED 点灯 消灯
電気 流れる 流れない
電圧 HIGH LOW
デジタル ON 1 OFF 0
論理値 真(True) 偽(False)
AND演算 and(かつ)

AND演算は、AとBの両方が1(True)のときだけ、結果が1(True)になる演算です。これは、LEDの回路で考えると、下図のようになります。

AがオンでBがオフのとき、回路はつながらないので、LEDは点かない。結果は0(False)。
AがオフでBがオフのとき、回路はつながらないので、LEDは点かない。結果は0(False)。
AがオンでBがオンのとき、回路はつながるので、LEDは点灯する。結果は1(True)。

このすべての場合を表で表す(真理値表)と、次のようになります。

OR演算 or (または)

OR演算では、AとBの一方でも1(True)のとき、結果が1(True)になります。これは、LEDの回路で考えると、下図のように表せます。

この回路では、AかBどちらかのスイッチがオンになると、そこを電流が流れるので、LEDが点灯します。場合分けの表(真理値表)は次のようになります。

基本的な論理回路にもう1つ、NOTと呼ばれるものがあります。

NOT演算 not (否定、~でない)

これは、ANDやORと異なり、1つの入力だけを扱いAがオンならオフに、オフならオンにします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA