論理式の簡略化

このQ&Aのポイント
  • 論理式の簡略化についての質問です。
  • 公式を用いて論理式を簡略化しようとしましたが、答えが違ってしまいます。
  • 計算順序に問題があるのでしょうか?回答をお願いします。
回答を見る
  • ベストアンサー

論理式の簡略化

論理式を簡略化する問題なのですがよくわからないので 教えて頂きたいです。 式は(B eqv A) xor B and A です。 まず公式で A eqv B=notA xor B=A xor notBなので (notB xor A) xor B and A=(A xor notB) xor B and A「xorの交換則」             =A xor notB xor B and A「xorの結合則」 =A xor True and A             =A xor A=False となったのですがA eqv BをB xor not Aにすると (B xor notA) xor B and A=(not A xor B) xor B and A             =not A xor B xor B and A             =not A xor F and A             =not A xor F             =not A となってしまい答えが違ってしまいます。 やはり計算順序がおかしいのでしょうか? 回答お願いします<(_ _)>

質問者が選んだベストアンサー

  • ベストアンサー
  • info22
  • ベストアンサー率55% (2225/4034)
回答No.2

#1です。 a#1の補足に書かれた演算の優先順位が間違っているようです。 >(3)優先度は()>NOT>AND>OR>XOR>IMP>EQVです。 最後の2つの優先順位が逆です。 正しくは参考URLにあるように ()>NOT>AND>OR>XOR>EQV>IMP…(◆) です。 最初の質問の式の間違い箇所について 論理演算の優先順位(◆)に違反して計算しています。 >=A xor notB xor B and A「xorの結合則」 >=A xor True and A 演算の優先度は「notB xor B」より「B and A」の優先度の方が高いので 「notB xor B=True」の演算はできないので、ここで演算が間違った。 > =not A xor B xor B and A > =not A xor F and A ここでも演算の優先度の高い「B and A」を無視して 演算の優先度の低い「B xor B=False」の演算を先に演算して、 間違った。 A#1の補足の論理式の簡単化について 論理式=False になります。 簡単のために、True=1,False=0で表し、(A,B)の全ての組み合わせに対して与えられた論理式を計算してみると (A,B)=(0,0)の時 ((B eqv A) imp ((B eqv A)xor B and A) or B)xor(B and A and((B eqv A)xor B and A)imp B and A and ((B eqv A) xor B and A)) =( 1 imp ( 1 xor 0 ) or 0)xor( 0 and( 1 xor 0 )imp 0 and ( 1 xor 0 )) =( 1 imp 1 or 0)xor( 0 and 1 imp 0 and 1 ) =( 1 imp 1 )xor( 0 imp 0 ) = 1 xor 1 = 0 (A,B)=(0,1)の時 ((B eqv A) imp ((B eqv A)xor B and A) or B)xor(B and A and((B eqv A)xor B and A)imp B and A and ((B eqv A) xor B and A)) =( 0 imp ( 0 xor 0 ) or 1)xor( 0 and( 0 xor 0 )imp 0 and ( 0 xor 0 )) =( 0 imp 0 or 1)xor( 0 and 0 imp 0 and 0 ) =( 0 imp 1 )xor( 0 imp 0 ) = 1 xor 1 = 0 (A,B)=(1,1)の時 ((B eqv A) imp ((B eqv A)xor B and A) or B)xor(B and A and((B eqv A)xor B and A)imp B and A and ((B eqv A) xor B and A)) =( 1 imp ( 1 xor 1 ) or 1)xor( 1 and( 1 xor 1 )imp 1 and ( 1 xor 1 )) =( 1 imp 0 or 1)xor( 1 and 0 imp 1 and 0 ) =( 1 imp 1 )xor( 0 imp 0 ) = 1 xor 1 = 0 (A,B)=(1,0)の時 ((B eqv A) imp ((B eqv A)xor B and A) or B)xor(B and A and((B eqv A)xor B and A)imp B and A and ((B eqv A) xor B and A)) =( 0 imp ( 0 xor 0 ) or 0)xor( 0 and( 0 xor 0 )imp 0 and ( 0 xor 0 )) =( 0 imp 0 or 0)xor( 0 and 0 imp 0 and 0 ) =( 0 imp 0 )xor( 0 imp 0 ) = 1 xor 1 = 0 となってカルノー図(2次元真理値表)を描くまでもなく 全てのA,Bの組合せに対して、与えられた論理式は 全て「0(=False)」になる結果が得られた。

参考URL:
http://msdn.microsoft.com/ja-jp/library/cc392395.aspx
senkei777
質問者

お礼

回答ありがとうございます。 順序に気をつけてやるとなんとかできました! 値を直接代入してやる方法もあったのですね、大変参考になりました! 本当にありがとうございました<(_ _)>

その他の回答 (1)

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.1

カルノー図を書いて最簡形を求めるのが手っ取り早いですね。 問題に疑問点がありますので補足して下さい。 (1) >(B eqv A) xor B and A この式は (B eqv A) xor (B and A) ((B eqv A) xor B) and A のどちらですか? (2)A eqv B の「eqv」は古い記述ですが「一致論理」の演算子ですか? (3) 演算の優先度の確認 「()」>「not」>「and,xor,eqv」>「or」 でいいですか?

senkei777
質問者

補足

回答ありがとうございます。 (1)本当も結構ながい問題でこの部分だけ3回でてくるのでこの部分だけ 理解できれば後はできそうだったので短く書いてしまいました@@; 本来は ((B eqv A) imp ((B eqv A)xor B and A) or B)xor(B and A and((B eqv A)xor B and A)imp B and A and ((B eqv A) xor B and A))です。 (2)古い記述でしたか・・・一致論理でたぶんあっていると思います。   equivalent(略でEQV、同値)と書いていましたので。 (3)優先度は()>NOT>AND>OR>XOR>IMP>EQVです。

関連するQ&A

  • 4入力XORの論理式

    4入力XOR A【XOR】B【XOR】C【XOR】D この式のカルノー図を描くと 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 というように0と1が並びます。 これを簡単化出来るのなら なるべく簡単化して、XORを使わない 論理式を出したいのですがどうすればいいですか? そのあと、74シリーズのIC(OR、AND、NOT、NANDだけ) をつかって実体回路図を描くので論理式は出来るだけ 簡単にお願いします。

  • 論理式の証明がどうしてもできません。

    A xor B xor AB=A+Bという排他的論理和の式の証明がどうしてもできません。どなたか、教えてください。

  • 論理式の簡単かがわからない

    論理式の簡単かがわからない f=AB+A^B+^ABの式(^で否定です)でカルノー図で解くとA+Bになるのはわかるのですが論理公式による方法がわからなくて困ってます。 わかる方教えてください

  • 論理式の求め方

    A,B,C,Dの4つの入力と出力Yで、入力に1の数が2個の時は0、それ以外の時は1を出力する論理回路についてNOTとANDだけの論理式にしたいのですが、どうしても簡単化をしてまとめることができません。わかるかたがいればぜひおしえて下さい。よろしくお願いします。

  • (論理咳,論理和,排他的論理和)基本情報処理の問題

    今基本情報処理の勉強をしているのですが、 論理咳,論理和,排他的論理和の問題で、いまいちわからない部分がありますので教えてください。 【問題】 ビット数が等しい任意のビット列aとbに対して、等式=bと同じことを表すものはどれか。  ここで、AND,OR,XORはそれぞれ,ビットごとの論理咳,論理和,排他的論理和を表す。 ア a AND b = 00…0  イ a OR b = 11…1 ウ a XOR b = 00…0 エ a XOR b = 11…1 解答  「ウ a XOR b = 00…0」 となっているのですが  この質問に出ている 「00…0」 or 「11…1」は何を表しているのでしょうか?    「00…0」 = 全てのビットが0になる  「11…1」 = 全てのビットが1になる  という意味を指しているのでしょうか?

  • 論理式の簡単化

    論理式の簡単化 論理式の簡単化 (¬A)(¬B)CD + (¬A)B(¬C)D + (¬A)BC(¬D) + A(¬B)(¬C)D +A(¬B)C(¬D) + AB(¬C)(¬D) という式なのですが、カルノー図を使ってもどうやっても簡単化できません。(¬)はNOTのことです。 もうこれは、簡単化できないものなんでしょうか? 見づらくてもうしわけありません。 どなたかご教授ください。

  • 論理式の一致確認

    次の論理式は、何を表しているのでしょうか? AB|?←ここに何なりますか?-A・B NOTとANDを組合せたNAND 00|0 01|1 10|1 11|0 問題は、次の論理式-A・B+A・-Bの表を書いて、上の真理値表と一致するかを確認したいのですが、分かり易くアドバイスして頂ける方助言お願い致します。

  • 論理式の計算順序

    X=~A・~B+~A・B+A・~B (~A,~B,はそれぞれA,Bの否定            ・は論理積、+は論理和) という論理式の計算順序について教えてください。 私は、左から順に、Aの否定とBの否定の論理積をとっ て、その結果をAの否定の論理和をとってというように 計算しました。式にすると、 X=(((((~A・~B)+~A)・B)+A)・~B)です。結果、求めた 真理値表は解答のものと違ってしまいました。 解答では、~A・~B、 ~A・B、 A・~Bをまず先に求め、 その結果の論理和をとっていました。式にすると、 X=(~A・~B)+(~A・B)+(A・~B)という計算順序でした。 なぜ、このような計算順序になるのか、また、 もし、X=~A・~B+~A・B+Aのように最後の~Bを 取り除いた場合の計算順序も教えてください。 よろしくお願いします。 真理値表 A B X 0 0 1 0 1 1 1 0 1 1 1 0

  • 論理式

    F=AB^C+AB^C^+ABC^+A^BC^+A^BC+A^B^C ^は、否定を表します。 これをカルノー図で簡単化するとF=A^C+BC^+AB^ または、F=AC^+A^B+B^Cとなります。これは、ある問題集にあり答えも合っています。 しかし、この論理式をクワイン・マクラスキーの方法で解くと解けません。何度やっても解けません。どうしてかわかりません。アドバイスください。

  • 論理演算について教えて下さい。

    基本的な論理演算について教えて下さい。 例えば、変数aにTrueを、変数bにNullを代入し、 a and b をした場合、Nullになるのは、わかるんですが、 a or b をした場合、なんでTrueになるんですか? 又、変数aにFalseを、変数bにNullを代入し、 a or b をした場合、Nullになるのは、わかるんですが、 a and b をした場合、なんでFalseになるんですか? お願いです。教えて下さい。。。 理由がわかりません。。。。