全加算器
次に全加算器を作ります。全加算器とは、半加算器に、前の桁の繰り上がりを入力出来るようにしたものです。半加算器と同様に、全加算器もFullAdderコンポーネントを作ります。
真理値表にすると以下のようになります。
| A | B | Cin | Cout | S | 
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 
| 0 | 1 | 0 | 0 | 1 | 
| 1 | 0 | 0 | 0 | 1 | 
| 1 | 1 | 0 | 1 | 0 | 
| 0 | 0 | 1 | 0 | 1 | 
| 0 | 1 | 1 | 1 | 0 | 
| 1 | 0 | 1 | 1 | 0 | 
| 1 | 1 | 1 | 1 | 1 | 
A, B, Cinが入力、Cout, Sが出力です。Cinは繰り上がりの入力を 、Coutは繰り上がりの出力を表しています。
ここで、AとBを半加算器で足したときの出力を見てみましょう。
| A | B | C | S | 
|---|---|---|---|
| 0 | 0 | 0 | 0 | 
| 0 | 1 | 0 | 1 | 
| 1 | 0 | 0 | 1 | 
| 1 | 1 | 1 | 0 | 
全加算器の真理値表の入力A, BをC, Sに置き換えてみます。
| C | Sin | Cin | Cout | Sout | 
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 
| 0 | 1 | 0 | 0 | 1 | 
| 0 | 1 | 0 | 0 | 1 | 
| 1 | 0 | 0 | 1 | 0 | 
| 0 | 0 | 1 | 0 | 1 | 
| 0 | 1 | 1 | 1 | 0 | 
| 0 | 1 | 1 | 1 | 0 | 
| 1 | 0 | 1 | 1 | 1 | 
ここで、Soutは、SinとCinの和になっていることがわかります。その繰り上がりとCの論理和がCoutとなります。実際、Cが0かつSinとCinの和の繰り上がりが0の時、Coutは0、CまたはSinとCinの和の繰り上がりが1の時、Coutは1となっています。
以上から、全加算器は次のようになります。
