tsucchi’s diary(元はてなダイアリー)

はてなダイアリー(d.hatena.ne.jp/tsucchi1022)から移行したものです

コンピュータと2値論理と3値論理

なぜコンピューターは2進法で、人間はそうでないのか - 悪魔の妄想

なぜコンピューターは2進法を採用しているのでしょうか。
よく「2進法はONとOFFだけなので、実際に電気回路を作るのが簡単だから」という説明が為されています。
でも、電気にはプラスとマイナスがあるのだから、
プラス、マイナス、ゼロの3つを使った3進法の方が、ひょっとしたら効率的ってことはないですかね。

面白い考察です。
# けど音楽がらみの考察はコメントやブクマで多数突っ込み入っていますが、むちゃくちゃなので鵜呑みにせぬよう。

3進法というか3値でもいいみたいです。つーか、みんな知っていてどっぷり3値なコンピュータの世界があるんです。それが SQL。(正確には SQL が採用している関係データモデル)

3値論理 - リレーショナル・データベースの世界

3値論理(three-valued-logic, 3VL)は、NULL が関係モデルにもたらす問題の中でも、最も込み入った、混乱しがちなものであり、同時に最も面白い問題でもあります。私は個人的に、3値論理という体系に興味を持っています。しかし、誤解しないでください。DB設計の段階においては、全力をもって NULL を追い出してください。可能な限りの列に NOT NULL制約をつけてください。そうすれば、エレガントな2値論理の世界の住人となる権利を得ます。反対に、重要なキー列に NULL を許すような設計を行なえば、混乱と未知の支配する3値論理の世界へ渡らねばなりません。

まあオイラは SQL も 3値論理もそんなに詳しくないから、↑でも読んでみてくださいな。

SQL を扱ったことがある人なら誰だって、NULL 周りのエトセトラで1度や2度は死んだことあるでしょ?3値論理は人の直感に反するんです。なぜ反するのかは分かんないんだけどさ。4値以上の論理だともっとカオスだろうから、考えないことにします。

オイラの結論としては、コンピュータが2進数/2値論理なのは、「3値論理が(人間が)嫌だから、3進数も嫌」じゃないかな、と思います。

でも「人間が10進数(とたまに12進数と60進数)」な理由は分からないなぁ。元エントリの考察も面白いけどちょっと不満(クリアにならなかった、という意味でね)。不思議ですねぇ。