電気で計算する方法
目次
並列スイッチ
次に、スイッチを並列に入れてみよう(右図)
今度は、片方のスイッチを ON にしただけで、電気の通り道が出来上がり、電球が点く。
もちろん両方のスイッチを ON にしても電球は点く。どちらも OFF の時だけ、点かない。
今度は、sw1 + sw2 = 電球、という式にしてみよう。
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
…おしい。上の3つの状態は、足し算回路になっている。
でも、一番最後だけ、足し算にはなっていない。
十進数では、1 + 1 = 2 だ。しかし、2進数に 2 という数字はない。
だから、繰り上がって 1 + 1 = 10 にならないといけない。
しかし、電球は1つしかないので、繰り上がりを表現することはできない。
まぁ、「だいたい」足し算を表現できた。
せめて、最後を「特別扱い」だと伝える方法があれば、足し算できたといってもいいんじゃないかな。
というわけで、最後の状態の時だけ、「特別扱い」だと教えてくれる回路が欲しい。
この回路は、実はすでに知っている。先ほどの掛け算回路が、スイッチが両方 ON の時だけ、電球を光らせてくれるんだ。
「特別扱い」でないときは、答えをそのまま信じよう。
「特別扱い」の時は、繰り上がりが起こって答えは 10 だ、と考えよう。
というわけで、2つの回路を組み合わせれば、若干おかしいながら、足し算回路が出来上がった。
3路スイッチ
ちょっと変わったスイッチで、3路スイッチというものがある。
ON / OFF するのではなくて、2つの電線のどちらに電気を流すか選べる。
これを2つ組み合わせると、ちょっと面白いことができる。
右図を見てほしい。a b 2本ある電線に、sw1 sw2 でどちらを使うか選べる。
図の状態では、どちらも a を選んでいるため、回路が出来上がって電球が点く。
この回路は、2つのスイッチの、どちらを操作しても、操作するたびに回路全体の ON / OFF が切り替わる。
仕組みがどうなっているかは知らなくても、みんな身近に使っているはずだ。
階段の上と下とか、長い廊下の両端とかで、どちらでも電灯を ON / OFF できるのはこの仕組みを使っている。
ここまで、スイッチは ON なら 1 、OFF なら 0 、としてきた。
でも、3路スイッチには ON / OFF はない。a b どちらの電線を使うか、というだけだ。
ここで、少し変則的な定義をしたい。
sw1 は、 a を 0 、b を 1 とする。
sw2 は、 a を 1 、b を 0 とする。
定義が逆になっているのだけど、つまりは、「0 と 1 の組み合わせだけ電気が流れる」ようにしたい。
両方 0 とか両方 1 の場合は、回路が作られず、電気は流れない。
また、sw1 + sw2 = 電球、という式にしてみよう。
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0
先ほどの、並列回路との違いは最後の行だけだ。1 + 1 = 0 になっている。
答えは 10 なので、やっぱり計算式としては間違えている。
だけど、ここが 1 になってしまうよりは、よっぽど「正しい」んだ。
答えの 10 のうち、「下の桁」の 0 を正しく表現しているから。
先ほど、掛け算回路が「この計算式がおかしい」ことを示すのに使える、と書いた。
おかしい理由は「桁上りが起きた」からだし、桁上りが起きたときに電球が点くのであれば、それはつまり「上の桁」を示している。
というわけで、直列スイッチ(掛け算)回路と、3路スイッチの回路を組み合わせれば、答え2桁を正しく表示できる。
今度こそ、足し算回路の完成だ。