mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Logik: XOR durch AND und NAND


Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wie gehe ich heran, wenn ich eine XOR verknüpfung durch möglichst wenig 
AND und NAND ersetzen will?

Autor: MeinerEiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Wiki nachschauen: http://de.wikipedia.org/wiki/XOR-Gatter

Oder über Logiktabelle & KV-Diagramm

Autor: Erik W. (exor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Konjunktive normalform aufstellen und zweimal negieren...dann einfach 
einmal die Regel von De Morgan benutzen und schon hast du deinen 
ausdruck in nand form

Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja Wiki fällt weg. Ich würde ja gerne selber drauf kommen. Wie geht 
das über Tabelle und KV-Diagramm?

Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie stelle ich die Konjunktive Normalform auf?

Autor: Dönerstrahl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du keine Ahnung hast, aber es selbst schaffen willst, warum fragst 
Du dann hier?

Autor: Erik W. (exor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ganz einfach über eine Wertetabelle

A   B  |  A XOR B
-----------------
0   0  |     0
0   1  |     1
1   0  |     1
1   1  |     0

daraus entsteht dann die formel
(/A & B) | (A & /B)

Autor: MagIO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mal sagen, dass die disjunktive Normalform an der Stelle 
angebrachter ist. Und das ist ja auch das, was Erik angegeben hat.

Erik's Ausdruck enthält aber noch ein Oder. Das bekommst Du bestimmt mit 
De'Morgan auch selbst weg, oder?

Autor: Erik W. (exor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
uups hab ich vorhin konjunktive normalform gesagt....sollte natürlich 
diskjunktiv heißen ;)

Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok ich probiers nur erstmal noch, wie kommt man daruaf: (/A & B) das 
Oder in der Mitte ist klar. Da schaut man sich einfach die Zeilen an, 
die 1 ergeben.

/( /(/A & B) & /(A & /B))

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonny schrieb:
> Ok ich probiers nur erstmal noch, wie kommt man daruaf: (/A & B)

Och schau dir doch die Tabelle an.
Nimm die 2. te Zeile raus

0   1  |     1

Der Ausgang ist dann 1, wenn A nicht 1 ist und B 1 ist.
Und dann schreibst du das so hin

  /A & B

Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok danke ich habs verstanden. War das jetzt richtig:

/( /(/A & B) & /(A & /B))

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonny schrieb:
> ok danke ich habs verstanden. War das jetzt richtig:
>
> /( /(/A & B) & /(A & /B))


Probiers aus. Mach dir wieder eine Tabelle

  |    |         |         |       C    |     D      |
A | B  |  /A & B | A & /B  |  /(/A & B )| /(A & /B ) | C | D
--+----+---------+---------+------------+------------+--------
0 | 0  |         |         |            |            |
1 | 0  |         |         |            |            |
0 | 1  |         |         |            |            |
1 | 1  |         |         |            |            |

Wenn die letzte Spalte identisch ist zum XOR, dann stimmts

Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok es scheint zu stimmen. Aber deine Tabelle war nicht ganz richtig, 
oder?
C | D muss C & D sein
und dann nochmal negieren.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonny schrieb:
> ok es scheint zu stimmen. Aber deine Tabelle war nicht ganz richtig,
> oder?
> C | D muss C & D sein
> und dann nochmal negieren.

Gut aufgepasst!

Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok jetzt stellt sich nur noch die Frage, wie ich das wie bei Wiki mit 4 
NAND umgesetzt bekomme. Den Hinteren Teil habe ich ja genau so jetzt. 
Nur wie bekomme ich das mit der Negation von A und b hin?

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A NAND A = NOT A

Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wieso kann man die Negation von A und B über ein NAND machen?

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Und wieso kann man die Negation von A und B über ein NAND machen?
Mach dir ne Tabelle vom NAND und sieh nach was passiert wenn beide 
Eingänge den gleichen Pegel führen...

Autor: Jonny (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und ich habe jetzt noch im Internet diese Herleitung gefunden. Wieso ist 
manchmal zwischen den Variablen keine Verknüpfung, und was bedeutet das?

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wieso ist manchmal zwischen den Variablen keine Verknüpfung, und was >bedeutet 
das?

Wenn man zwei Zahlen miteinander multipliziert, lässt man das 
Mal-Zeichen auch gerne weg. Die gleiche Regel gilt auch hier...

Autor: Erik W. (exor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
logisches AND um es einfach auszudrücken

Autor: Jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch mal ne Frage zu dem Anhang. Wie kommt man von der vorletzten zur 
letzten Zeile?

Autor: Erik W. (exor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich geb dir ma zur hilfe eine grundlegende boolesche umformung:

wenn du beides nochmal negierst siehst du schon die lösung

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.