アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (1件)

カルノー図を書いてみたけど、とくに簡略化できるところはなさそう。



ということで、そのまま項を列挙するだけで良いと思います。

以下検証:

%cat a.rb
bool = [false, true];
bool.each do |a|
bool.each do |b|
bool.each do |c|
bool.each do |d|

r = !(!a & !b & c & d) & !(!a & b & !c & d) & !(!a & b & c & !d) & !(a & !b & !c & d) & !(a & !b & c & !d) & !(a & b & !c & !d);
print a ? '+' : '-';
print b ? '+' : '-';
print c ? '+' : '-';
print d ? '+' : '-';
print ' = ', r, "\n";
end
end
end
end
%ruby a.rb
---- = true
---+ = true
--+- = true
--++ = false
-+-- = true
-+-+ = false
-++- = false
-+++ = true
+--- = true
+--+ = false
+-+- = false
+-++ = true
++-- = false
++-+ = true
+++- = true
++++ = true
%

一応、NOTとANDの論理ゲートだけで構成できてるかと。
    • good
    • 0
この回答へのお礼

おそくなりましたが大変参考になりました。
ありがとうございました。

お礼日時:2004/05/19 23:34

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