有學過一點程式的人應該對邏輯運算 $\AND$, $\OR$, $\NOT$ 都不陌生,許多程式還有支援 $\XOR$。其中 $\AND$, $\OR$, $\XOR$ 可視為從 $\{0,1\}^2 = \{(0,0),(0,1),(1,0), (1,1)\}$ 打到 $\{0,1\}$ 的函數。比如 $\AND$ 的定義就是 $$\AND(0,0)=0,\ \AND(0,1)=0,\ \AND(1,0)=0,\ \AND(1,1)=1。$$ 類似地,$\OR$ 在 $(0,0),(0,1),(1,0),(1,1)$ 上的取值依序為 $0,1,1,1$,$\XOR$ 為 $0,1,1,0$。 而 $\NOT$ 是從 $\{0,1\}$ 打到 $\{0,1\}$ 的函數,其作用為 $\NOT(0)=1$, $\NOT(1)=0$。