1
1

More than 1 year has passed since last update.

基本情報(半加算器と全加算器)

Posted at

全く聞いたことがない言葉なので意味不明でしたが、加算器とは2進数の足し算(つまり加算)を行う回路加算器と呼ぶそうです。

加算器には半加算器全加算器があります

半加算器は1桁の2進数を2つ加算。
全加算器は1桁の2進数を3つ加算。

よくわからないので一つ一つ見ていきます。

半加算器

半加算器を理解するためには、2進数の1桁(ビット)同士で行われる足し算に、どんなパターンがあるか考えると良いようです。

  0          0          1         1
+ 0        + 1        + 0       + 1
-----     ------     ------    ------ 
  0          1          1        10

4パターンです。
Half_adder.png
ANDゲートが半分丸でORゲートが三日月でNOTゲートがおでんです。

入力A、入力B、出力S(SUM)、桁上げ出力C(Carry Out)の回路図で入力と出力の関係になっています。
Cは桁上がりした2桁目の数に当たる出力でSは1桁目の数に当たる出力です。

真理値表にまとめると

A B C
0 0 0
0 1 0
1 0 0
1 1 1
A B S
0 0 0
0 1 1
1 0 1
1 1 0
   0
+  1
-----
  01
// CSの順番で表示されるということですね

つまり出力Cは論理積(AND)。出力Sは排他的論理和(XOR)。
この二つが組み合わさって半加算器が出来上がっています。

なんとなくわかった。ような。気がします。

全加算器

  0 1 1 1 1 1 1 0 1
+ 0 1 1 0 1 1 1 1 1
---------------------
  1 1 1 0 1 1 1 0 0
 ~~~~~~~~~~~~~~~  ~~
  全加算器が必要    半加算器でOK

2桁目以降は下位の桁から繰り上がってくる可能性があるため、半加算器では対応ができません。
そのため、2桁目以降は全加算器が必要となります。

Full_adder.png

全加算器は半加算器と論理和回路(OR回路)を組み合わせることで作ることができるようです。
半加算器は2つの組み合わせが必要です。

半加算器と比べると入力口が一つ増えて計算式は

   A
+  B
-----
 C S
   +
   C

となるようです。

まとめ

なんとなく理解しましたが、しっくりこないので何回か復習してみようと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1