半加算器は入力(A,B)と出力(C,S)からなり、次のような真理値表になります。

入力出力
ABC S
000 0
010 1
100 1
111 0


この真理値表から、次の回路図が導けます。

基本情報の勉強をする-half-adder








ということらしいのですが、よく分かりませんでした(笑)
しばらく考えて、全て2進数の足し算として考えれば分かりやすいことに気づきました。

2入力の2進数の足し算は全部で4種類あります。

0+0=00
0+1=01
1+0=01
1+1=10

この数字を左から順番に見ていくと、上の真理値表と同じになってますね。
A+B=CSという形になってます。

答えの一桁目がS(Sum:和)、二桁目がC(Carry:けた上がり)です。

回路図を見てください。xorにSが繋がり、ANDにCが繋がっています。
この理由は、上の足し算を見ればすぐわかります。
S(和)が1になるのは、0と1の組み合わせの時だけ。これはxorのことです。
C(けた上がり)が1になるのは、2入力ともに1の時だけ。これはANDのことです。



次に全加算器の真理値表と回路図。
入力出力3入力の足し算
CiABCoSCi+A+B=CoS
000000+0+0=00
001010+0+1=01
010010+1+0=01
011100+1+1=10
100011+0+0=01
101101+0+1=10
110101+1+0=10
111111+1+1=11

基本情報の勉強をする











数字がいっぱい増えて、最初何がなんだか分かりませんでしたが、これも結局2進数の足し算をしているだけでした。下位からのけた上がり(Ci)も考慮するので、入力が一つ増えて3つになりました。3つの2進数の足し算です。

出力のCoが1になるのは、「入力Ci,A,Bのうち2つ以上が1のとき」
出力のSが1になるのは、「入力Ci,A,Bの1の数が奇数のとき」

と考えることもできます。2進数の足し算だから当然ですよね。
こう考えれるようになると、今まで理解できなかった部分がすっきりしました。

全加算器の回路図は、一見ややこしそうに見えますが、この考え方と、半加算器のときに述べた「xorにSが繋がり、ANDにCが繋がっている」ということを理解したあとは、容易に入力から出力まで辿っていけるようになりました。

平成21年秋、午後の問1(全加算器と半加算器の問題)も、難なく全問正解できました♪


[解いた問題]
午前:平成9春問28、平成21春問25、平成16春問7、平成21秋問25
午後:平成21秋問1

[References]
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1210726462
http://www.mech.tohoku-gakuin.ac.jp/rde/contents/course/mechatronics/digital.html
平成22年度 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室/栢木 厚
(P64-68)

にほんブログ村 資格ブログ IT系資格へ
にほんブログ村
人気ブログランキングへ
平成23年春の基本情報技術者試験が地震の影響で7月10日に延期されたということを、この試験の申し込み締め切り日直前に知りました。

基本情報に初挑戦してみようかなと思って迷っていたときだったので、そのまま申し込んでしまいました(笑)

今日から勉強の記録として、このブログを書いていきたいと思います。

ちなみに今の自分の実力は、学校で習ったネットワークとC言語が少し分かるだけで、他の知識はほぼ0です。

この試験の範囲の広さから考えて、あと2ヶ月で合格するのはかなり厳しいと思いますが、頑張っていこうと思います!

にほんブログ村 資格ブログ IT系資格へ
にほんブログ村
人気ブログランキングへ