dポイントプレゼントキャンペーン実施中!

ITパスポートの勉強を始めた文系です。
論理演算のところで分からない部分があったため質問させていただきます。

問題:X OR Y を NAND だけを使って表した論理式はどれかという選択式の問題で、
選択肢としては、 ア:((X NAND Y) NAND X ) NAND Y
         イ:(X NAND X) NAND (Y NAND Y)
         ウ:(X NAND Y) NAND (X NAND Y)
         エ:X NAND (Y NAND (X NAND Y))   
答え: イ

X OR Y というのは、X または Y の時に出力されるということだと思いますが、
これを NAND で解釈する場合は、どのようになるのでしょうか。

お答えいただければ幸いです。

A 回答 (4件)

(NOT X) AND (NOT Y)


はX, Y両方が0なら1

これをNOTすればX, Y両方が0なら0となるのでX OR Yになります
「論理演算 NAND に関しての質問」の回答画像4
    • good
    • 0

X OR YをNANDで表したいのですからAND条件を見つけます。



X OR Yの見方をかえれば
X=0かつY=0なら0
ということは
X OR Y=NOT((NOT X) AND (NOT Y))
NOT XはX NAND X、NOT YはY NAND Y
ですね
NANDはAND NOTですから
X OR Y = (X NAND X) NAND (Y NAND Y)
となります
    • good
    • 1
この回答へのお礼

ご返信いただきありがとうございます。
とても分かりやすいご回答で理解できたと思います。

NOT X AND NOT Y というのが、
下記の論理値表となると思います、
X Y 出力
------------
1 1 0
1 0 0 ←これをNANDで反転させたい
0 1 0   という理解で大丈夫でしょうか
0 0 1

お礼日時:2021/02/04 11:29

> (X NAND X) NAND (Y NAND Y)を論理値表で表すと下記のようになります。



あなたが書いた真理値表は正しくありません。正しくは、

X Y 出力
------------
1 1 1
1 0 1
0 1 1
0 0 0


X NAND XはXを反転しています。Y NAND Yも同様にYを反転しています。
従って、X=1あるいはY=1の時には、(X NAND X) NAND (Y NAND Y)は
NANDへの入力のどちらか、または両方が0となり、出力は1になります。
X=0かつY=0のときのみ、1 NAND 1となり、出力が0になります。

NANDは両方の入力が1のときのみ0を出力することに留意して、もういちど考えてみることをお勧めします。
    • good
    • 1
この回答へのお礼

ご返信いただきありがとうございます。
論理値表を見間違えていたみたいで、
ようやく誤解を解くことが出来ました。
今回はありがとうございました!

お礼日時:2021/02/04 11:29

> X OR Y というのは、X または Y の時に出力されるということ


XかYのうちどちらかあるいは両方が1であれば1を出力します。言い換えれば、X,Yどちらも0の時のみ0を出力する。

>これを NAND で解釈する場合は、どのようになるのでしょうか。
「これ」というのは、X NAND Yのことですか、それとも(X NAND X) NAND (Y NAND Y)のことですか?
前者なら、NANDはANDの出力を反転したものなので、X, Y両方が1の時のみ0を出力。
後者はX OR Yと等価なので、最初に書いた通りX, Yのどちらかまたは両方が1のときに出力が1となる。
    • good
    • 0
この回答へのお礼

ご返信いただきありがとうございます。
これ、という曖昧な書き方をしてしまい申し訳ありません。
質問の意図としては、(X NAND X) NAND (Y NAND Y)が、
なぜ、X OR Yを表した論理式になるのか理解できておりませんでした。

spookyactionさんの解答で,(X NAND X) NAND (Y NAND Y)の意味を、
理解することはできたのですが、なぜ X OR Yの論理式に値しているのか理解できませんでした。



改めて問われていることは、「X OR Y を NAND だけを使って表した論理式はどれかという問題です。」

(X NAND X) NAND (Y NAND Y)を論理値表で表すと下記のようになります。

              X Y 出力
              ------------
              1 1 0
              1 0 1
              0 1 1
              0 0 1

X OR Y を論理値表で表すと次の通りとなっております。

              X Y 出力
              ------------
              1 1 1
              1 0 1
              0 1 1
              0 0 0

論理値表を見ると分かると思うのですが、出力結果が互いに異なっているのですが、そもそも今回の問題では何を求めているのでしょうか。

根本的な質問になってしまい申し訳ございません。
長文になってしまいましたが、改めてお答えいただければ幸いです。

お礼日時:2021/01/30 22:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!