
例えば電源電圧5VのNAND回路の入力Aに5V、Bには0Vの電圧が加わっているとします。その時、出力Xは5Vとなります。
この動作の5Vや0Vの電圧を加えることを記号化すると次の文章になります。(5VはHighとし略してH、0VはLowとし略してLとする)
入力AをH、BをLとすると出力XはHとなる。

HとLしか無いならばHは電圧が有る状態なので1、Lは無い状態なので0と置き換えることもできます。そうすると次の式でも良いことになります。
A NAND B = X なので
1 NAND 0 = 1 となります。

次にNAND を4つ並べてみます。
{A1, A2, A3, A4} NAND {B1, B2, B3, B4} =
{X1, X2, X3, X4}
4bitのNAND演算になります。実際の数字を入れると
1111 NAND 0000 = 1111
1111 NAND 0001 = 1110
1111 NAND 0010 = 1101
・
・
・
0000 NAND 0000 = 1111
4桁同士の2進数の論理演算ができます。
二つの数値を決めた手順で次々と演算していくとき、その手順がソフトウェアとなり、演算を行う装置がハードウェアとなります。しかし単に論理演算を繰り返すだけでは今のコンピュータのソフトウェアとはまだかけ離れています。