- このトピックは空です。
-
投稿者投稿
-
-
nobody
ゲストP62の中央に、
全加算器の真理値表は、2つの半加算器と1つの論理和の組み合わせで作ることができると記載ありますが、
上部に1つの半加算器と1つの論理和の真理値表しかなく、
どのような考え方かよく理解できませんでした。
問題を解く上で、真理値表は覚えておく必要があると理解しております。全く知識がない中で勉強しており、大変お手数ですが、コメント頂けますと幸いです。
-
nobody
ゲスト質問者です。内容誤りについて訂正させていただきます。
上部に1つの半加算器と1つの論理和の真理値表しかなく、
↓
上部に1つの半加算器と、下部に1つの論理和の真理値表しかなく、 -
nobody
ゲスト先ず、p.62の真理値表は、下位桁からの桁上がりであるXがあるので、全加算器の真理値表です。
左側XYZは入力値、右側CSは出力値です。
この真理値表は、単なる足し算を表してるだけです。
(X,Y,Z)=(0,1,1)なら足したら2だから、2進数表記で10なので、(C,S)=(1,0)ってだけです。半加算器や全加算器は、理屈は混乱するので、先ずは丸覚えしてしまいましょう。
① 半加算器では、桁上がりCは「論理積」、1桁目の和Sは「排他的論理和」
② 全加算器では、「1つ目の半加算器の桁上がりC」と「2つ目の半加算器の桁上がりC」の【論理和】が「出力値C」①の半加算器については、簡単ですよね?
X Y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Cは、XとYの「論理積」になってますよね?
Sは、XとYの「排他的論理和」になってますよね?問題は、②の全加算器です。p.62と併せてイメージしながら読んでください。
先ずは、下位桁からの桁上がりXとYの和を計算するので①と同じ「半加算器」を用います。
この出力は「桁上がりC」と「1桁目の和S」でしたね?
次に、もう一つの入力値Zを足しますが、どこに足すと思いますか?
当然、先程の出力結果である「1桁目の和S」にZを足すわけです。
これが、2つ目の半加算器が行っていることです。
2つ目の半加算器も、1つ目の半加算器同様に「桁上がりC」と「1桁目の和S」が出力されます。
これで、「1桁目の和S」は確定です。
ここで、問題なのは、「1つ目の半加算器のC」と「2つ目の半加算器のC」をどうするかです。★ここからがポイント★
「1つ目のC」が1だった場合、1つ目の半加算器のSは絶対に0ですよね?←ここポイント
だから、2つ目の半加算器で入力値Zが1でも「2つ目のC」は絶対に0です。
逆に言えば、「1つ目のCが1」で「2つ目のCも1」というケースはあり得ないということです。「1つ目のC」が0だった場合、1つ目の半加算器のSは0か1です。
「1つ目の半加算器のSが1」で「2つ目の半加算器の入力値Zが1」の場合だけ「2つ目のCは1」で、それ以外の場合は「2つ目のCは0」です。以上の★以降のケースを真理値表でまとめます。
※「1つ目のC」をC1、「2つ目のC」をC2、全加算器の出力値をCとします。
C1 C2 C
1 1 ありえない
1 0 1
0 1 1
0 0 0
以上から、全加算器の出力値Cは、論理和と考えることができるという理屈です。 -
nobody
ゲストご回答者さま、早速ご返答ありがとうございます。
難しく考えすぎてました。噛み砕いてご説明いただきありがとうございます。大変助かりました。
↓確かにそうだ、、。と気づけました。
>(X,Y,Z)=(0,1,1)なら足したら2だから、2進数表記で10なので、(C,S)=(1,0)ってだけです。
-
-
投稿者投稿