人工知性を作りたい

私が日々、挑戦したことや学んだことなどを紹介していく雑記ブログです。 (新しいAI技術HTM, 専門の音声信号処理, 趣味のアニメ等も書いてます。)

半加算器と全加算器の仕組み【基本情報技術者になろう!】【図解】

f:id:hiro-htm877:20190619230445j:plain



 

f:id:hiro-htm877:20190601202549p:plain

 

 

 

  

 

 

現在、私は秋の基本情報技術者試験に向けて勉強中です。

その中で、私が得た知識をまとめて記事にしています。

 

本記事のテーマ

Python基本情報技術者になろう!】

・半加算器と全加算器

 本記事では、コンピュータの加算の仕組みである、半加算器と全加算器の説明を行います。

半加算器

半加算器とは繰り上がりを考慮しない2進数1桁の加算と、1桁の繰り上がりを出力することができます。

具体的に計算するとこうなります!

f:id:hiro-htm877:20190625213242j:plain

 

次に出力Cと出力Sの真理値表をまとめると下記のようになります。

さらに良く見てみると、出力Cは論理積(AND)の真理値表と同じ、出力Sは排他的論理和(XOR)と同じになっています。

f:id:hiro-htm877:20190625213315j:plain 

つまり、AND回路とXOR回路を繋げれば半加算器が完成します! 

f:id:hiro-htm877:20190625213359j:plain

 

全加算器

全加算器とは、2進数で1桁の繰り上がりを含めた1桁の加算結果と、1桁の繰り上がりを出力することができる。

8ビットの計算はこうなります。

そのため、残加算器は3つの入力を受け付ける必要があります。「入力A+入力B+入力C'(桁上がりしてきた数)」が出力される必要があります。

f:id:hiro-htm877:20190625220421j:plain

では、どんな回路を使えば全加算器が成り立つか考えます。

まずはじめに考えるのが、「入力A+入力B」の部分。ここは半加算器で作成できます。

次に入力C(桁上がりしてきた数)を計算にくっつけるにはどうすればいいか。

  A       A

+ B     + B

ーーー  →  ーーー

 C  S      C  S

          +

          C'

つまり次は、「出力S+入力C'」をやれば良い!

だから、半加算器をもう一つ組み合わせて、計算式を成り立たせます。

これが全加算器です。

f:id:hiro-htm877:20190625221010j:plain

 

このように、全加算器は半加算器とOR回路を組み合わせることによって実現できます!

 

以上で半加算器と全加算器の説明は終了です!

特に全加算器は少し複雑ですが、今回の図を書いてみると分かりやすいと思います。

頑張りましょう!

 

参考資料

・キタミ式イラストIT塾 基本情報技術者 平成31/01年