忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【基礎理論】2進数の足し算を処理する論理回路!「半加算器と全加算器」|情報処理問題1000本ノック

コンピュータ内部で数値計算(加算)を行う論理回路の基本知識。下位からの繰り上がり(キャリー)を考慮するかどうかで区別される「半加算器」と「全加算器」の仕組みを攻略しましょう。

1. 【 問題 】:基礎理論(論理回路・コンピュータの構成)

【 問題 】 2進数の加算を行う論理回路に関する記述です。2つの入力ビット($A, B$)のみを加算し、和($S$)と繰り上がり($C$)を出力する回路(下位からの繰り上がりを考慮しない回路)と、2つの入力ビットに加えて「下位からの繰り上がり($C_{in}$)」も含めた計3ビットを加算できる回路の組み合わせとして、正しいものはどれか。

(ア)前者が「半加算器」、後者が「全加算器」
(イ)前者が「全加算器」、後者が「半加算器」
(ウ)前者が「和回路」、後者が「積回路」
(エ)前者が「エンコーダ」、後者が「デコーダ」

2. 正解:

正解:(ア)前者が「半加算器」、後者が「全加算器」

3. 解説:「『下位からの繰り上がり(キャリー)』を計算に含められるかが分かれ目!」

コンピュータが2進数の足し算を行う際、最下位の桁(1の位)は下に桁がないため、2つの数字をそのまま足すだけで済みます。しかし、2桁目以降は**「下の桁から繰り上がってきた1」**も一緒に足し算しなければなりません。
この「繰り上がりを受け取れるかどうか」によって、半加算器と全加算器が使い分けられています。

【半加算器と全加算器の違いまとめ】 ← 超頻出の比較ポイント!

名称入力の数下位からの繰り上がり($C_{in}$)使われる場所の例
半加算器(Half Adder) 2つ($A, B$) 考慮しない(入力不可) 最下位桁(1の位)の計算など
全加算器(Full Adder) 3つ($A, B, C_{in}$) 考慮する(受け取れる) 2桁目以降の計算など

1. 回路構成のポイント(試験で超頻出!):
半加算器:和はXOR(排他的論理和)、繰り上がりはAND(論理積)の2つのゲートだけで作ることができます。
全加算器「半加算器 2個」+「ORゲート 1個」を組み合わせることで作ることができます。

2. 試験対策の視点: 基本情報技術者や応用情報技術者試験のテクノロジ系(ハードウェア・論理回路)で頻出の問題です。
問題文で「繰り上がりを考慮しない=半加算器」「繰り上がりもあわせて加算=全加算器」「半加算器2個で全加算器を構成できる」というポイントを必ず押さえておきましょう!


4. まとめ

下位からの繰り上がりを受け取らないのが半加算器、繰り上がりも含めて3つのビットを足し算できるのが全加算器です。半加算器2つとOR回路1つで全加算器が作れる点もあわせて覚えておきましょう!


PR