ユービック情報専門学校

NEWS

2026.5.11

Tのつぶやき

最も基本的な素子とは(連載03/4)

でも、このANDORNOTNANDNOTAND)というゲート一つであらわされています。

それは、NAND素子が最も作りやすい単純な回路でできているということと、NAND素子だけで他のすべての素子を作ることができるからです。

NAND素子は入力が2つに出力が1つの部品でしたよね。

 

A nand B Q

0 nand 0 1

0 nand 1 1

1 nand 0 1

1 nand 1 0

 

このABの二つの入力端子をひとつにまとめてみると、こんな風になります。

 

0 nand 0 1

1 nand 1 0

0と1 1と0 の組み合わせはできないのです。つまり、

 

not 0 1

not 1 0

と同じになります。

また、入力ひとつに出力が一つ。0入力なら1、1入力なら0。これはNOTと同じです。

では、このNOTを、NANDの出力Qのあとにつなぐと、以下のようになります。

 

0 nand 0 1 not 0

0 nand 1 1 not 0

1 nand 0 1 not 0

1 nand 1 0 not 1

 

0 and 0 0

0 and 1 0

1 and 0 0

1 and 1 1

 

これは、ANDになりました。当然です。NANDとは、ANDの出力をNOTしたものなので、もう一回NOTすればANDに戻るのです。

 

また、入力ABを一度NOT演算してからNANDしてみるとどうでしょうか。

 

(not 0) nand (not 0) 1 nand 1 0

(not 0) nand (not 1) 1 nand 0 1

(not 1) nand (not 0) 0 nand 0 1

(not 1) nand (not 1) 0 nand 0 1

 

これは、ORと同じです。

 

0 or 0 0

0 or 1 1

1 or 0 1

1 or 1 1

 

全部NANDだけでできてしましました。

突き詰めると非常に単純なのです。このように、NANDからANDORNOTを作れました。

足し算や引き算掛け算や割り算も作れます。また、それ以外の様々な演算のパーツを作っていけます。これが現代のコンピュータの基本原理です。

 

どれだけ複雑で高速であっても、基本はこの0と1の一桁です。この一桁の情報の単位をビットと呼びます。

ビットにはあいまいさはありません。0.5とか0.3なんて中途半端な数値が入る余地はありません。このビットで動作するのが現在のコンピュータの特徴です。

 

この動作原理を使わないコンピュータを考えよう。何か新しいことができるんじゃないかな。そう考えた人々がいます。

 

そのコンピュータ原理(のひとつ)が量子コンピュータです。