はじめに
ここ半年ほどTuring Completeにハマっています。
Turing Completeは論理回路を自分で設計して、最終的にCPUの完成を目指すゲームです。私はこのゲームでNAND演算とシフト演算、それとメモリにアクセスすることだけできるCPUを作りました。
本題
NANDだけで演算するための変換式を備忘録として残しておきます。
便宜上、NAND演算子は|とします。
a = b
a = (b|b)|(b|b)
NOT
\bar a = a | a
AND
a \cdot b = (a | b) | (a | b)
OR
a+b=(a|a)|(b|b)
XOR
a \oplus b=(a | (a|b))|(b | (a|b))
おわりに
覚えておきたい式を発見したら追記します。