戻る 半加算器  (half adder)



2 進数の数字は 0 と 1 だけですから、 2 つの 2 進数 A、B を加算する場合、 組み合わせは次の 4 種類しかありません。

 A  B  C  S 
000
011
101
11 1 0

ここで S は和、 C は加算の結果生じた桁上げ (carry) です。 10進数でも 7+3=10 のように、 一桁の数値の加算で桁上げが生じて 2 桁になることがあるのと同じで、 2 進数でも 1+1=10 になります。

これが 2 進数の加算の基本
ですから、 2 進数の数値 A、 B に対して、 上のように C と S を出力できるものであれば、 電気回路であれ機械であれ、 それは加算器として使うことができます。
たとえば基本論理回路を下図のように組み合わせると、 このような出力が得られます。
電子回路が、 計算してくれるのです




基本論理回路 真理値表
AND 回路
A B X
000
010
100
111
OR 回路
A B X
000
011
101
111
NOT 回路
A X
01
10

入力信号の記号や入力値の付近、 あるいは真理値表をマウスでクリックすると状態が変わります。
基本論理回路の真理値表を参考にして、 半加算器として動作することを確認して下さい。






上の半加算器は
AND 回路OR 回路NOT 回路を使っていますが、 同じ働きをするものをいろいろ作ることができます。
一例として NAND 回路 を使ったものを紹介します。 見かけは違いますが、 機能は同じです 半加算器演習 のページには、 更に別の半加算器があります。 興味のある方はご覧下さい)




論理回路 真理値表
NAND 回路
A B X
001
011
101
110
NOT 回路
A X
01
10




関連事項:  半加算器演習  リレーによる半加算器 

情報処理概論 に戻る   目次 に戻る  戻る  

*1 2進数の '10' は "じゅう" ではなく、 通常 "いちぜろ" と読みます。
*2 実際に 2 進数の加算をするには、 下位の桁の計算で発生した桁上げも加えなくてはならないので、 同じものがもう一組必要になります。
この回路だけでは半分しか加算できないので 「半加算器」 といいます。
*3 なんだ、 1+1 の計算なんて簡単じゃないか、 と思うかも知れません。 これが 1 個だけだと確かにそうなんですが、 16 個あれば 255+255 の計算ができるようになり、 繰り返して使えばどんな大きい数でも加算できます。 1兆+1兆でも 5 回で OK です。 1+1 をバカにしてはいけませんよ。
*4 負論理 のページをご覧になった方は、 この回路は次のように書いた方が分かりやすい、 と思われるでしょう。

Java applet 圧縮アーカイブファイル    自由利用マーク
update: 2014.06.06  address