De Morgan Gesetze unklar

Gast #4443380
Hallo zusammen,

ich habe ein Verständnis problem.

Die Gesetze von De Morgan besagen ja nichts anderes als, das eine 
Schaltung mit NAND oder NOR realisiert werden kann.

Also:

(A*B)nicht = (A nicht)+(B nicht) und umgekehrt.

Wenn ich nun z.B. folgenden Term umwandeln möchte:

x = (a nicht)*(b nicht) + A*B + C + D

dann muss nach der doppelten negation aus UND wieder ein ODER werden.
Laut wiki ist dann alles nur mehr UND (siehe Link)??

Link:"https://de.wikibooks.org/wiki/Digitale_Schaltungstechnik/_Realisierung_mit_NAND";
Gast #4443402
DeMorgan besagt das ein eingangsinvertiertes UND einem 
ausgangsinvertiertem ODER gleicht, ergo ein UND mit Invertierung am Ein- 
und Ausgang entspricht einem ODER
Gast #4443434
DeMorgan besagt, dass Du aus ODER UND und aus UND ODER machen kannst, 
genau dann wenn Du den gesamten Ausdruck und die einzelnen Terme 
negierst. Anschließend kannst Du das Gesetz auch auf die Teilterme 
anwenden.


x = ~a*~b + A*B + C + D
  = ~(~(~a*~b) * ~(A*B) * ~C * ~D)     | DeMorgan auf den Gesamtausdruck
  = ~((a+b) * (~A+~B) * ~C * ~D)        | DeMorgan auf den Einzeltermen
Persönliche Seite #4443494
Helpme91 schrieb:
> x = (a nicht)*(b nicht) + A*B + C + D
>
> dann muss nach der doppelten negation aus UND wieder ein ODER werden.
> Laut wiki ist dann alles nur mehr UND (siehe Link)??

Der Term ist zusammengesetzt und zuvorderst darfst du auch die Zeichen & 
und | verwenden (oder ^ und u). Ansonsten schlägt noch die Reihenfolge 
der Operatoren zu, demnach muss & zuerst gemacht werden und dann ist die 
Reihenfolge der Klammern. !a | !b & c muss ja nicht vollständig 
umgewandelt werden, !(a & b) & c genügt vollauf.
Gast #4444826
Ich verstehe einfach nicht, was genau die doppelte Negation macht.
Bei der doppelten Negation gibt es doch zwei Striche, was macht welcher 
nun?

Wenn ich nun diesen Ausdruck habe:

x = ~a*~b + A*B + C + D

und dann doppelt Negiere, was verändert der erste Strich und was der 
zweite an der Funktion?

Genau hier stehe ich an, da ich nicht verstehe welcher Strich nun was in 
der Funktion ändert.

MfG & Danke!!
#4444862
@Helpme91 (Gast)

>Ich verstehe einfach nicht, was genau die doppelte Negation macht.

Sie ändert die Gleichung ohne das Ergebnis zu ändern ;-)

>Bei der doppelten Negation gibt es doch zwei Striche, was macht welcher
>nun?


>Wenn ich nun diesen Ausdruck habe:

>x = ~a*~b + A*B + C + D

>und dann doppelt Negiere, was verändert der erste Strich und was der
>zweite an der Funktion?
1
x = ~a*~b + A*B + C + D      // Ausgangsgleichung
2

3
~~x =~~( ~a*~b + A*B + C + D)  // Beide Seiten doppelt negieren
4

5
x =~( ~(~a*~b) * ~(A*B) * ~C * ~D)  // nur eine Invertierung nach Demorgan auflösen, Eingänge negieren, aus ODER (+) wird UND (*), doppelte Negation von X hebt sich auf

Am Ende besteht die gesamte Schaltung nur aus NAND-Verknüpfungen und 
kann somit mit nur einem Gatter- bzw. IC-Typ aufgebaut werden.
Persönliche Seite #4444916
Helpme91 schrieb:
> und dann doppelt Negiere, was verändert der erste Strich und was der
> zweite an der Funktion?

Naja doppelte Negation ist ein bisschen schwammig. Es ist kein !(!a), um 
a auszudrücken. Aber !a & !b ist gleichbedeutend mit !(a | b), malst du 
die Wertetabelle für beide Fälle hin. Das Ziel ist Klammern streichen 
(weil alles & oder | ist) oder nur mit einer Schaltung arbeiten zu 
können.

Mir gefällt der Teil mit den Klammern besser, weil es das Potenzial zur 
Vereinfachung bietet. Ein | hat ja viel mehr wahre Ausgänge und damit 
lässt sich schneller entscheiden (Breite). Ein & hat viel weniger wahre 
Ausgänge und schränkt viel besser ein (Tiefe).
#4445985
@Helpme91 (Gast)


>Warum wird aus diesem UND kein ODER?

>(~a*~b) * ~(A*B) => (~a+~b) * ~(A+B) ??

Weil das was du da aufgeschrieben hast schlicht falsch ist ;-)

DeMOrgan geht NICHT verkettet bis in Teilterme! Das geht NUR auf der 
oberen Ebene, die Teiltermen muss man dann wieder einzeln betrachten!

(~a*~b) * ~(A*B) => ~(~a*~b) + (A*B)  // DeMorgen für die 
Gesamtgleichung, Teilterme bleiben im inneren konstant!

(~a*~b) * ~(A*B) => (a+b) * ~(~A+~B)  // DeMorgen nur für die Teilterme

(~a*~b) * ~(A*B) => ~(a+b) + (~A+~B)  // DeMorgen nur für die Teilterme 
und Gesamtterm
Gast #4446150
Hier ein Beispiel was mit NOR realisiert werden soll:


x = (a+b)  a  (~b+~c) *d  //Doppelt Negiert

x = ~~((a+b)  a  (~b+~c) *d)  //DeMorgan

x = ~(~(a+b) + ~a + ~(~b+~c) + ~d)  //Lösung


Wenn ich das Richtig verstanden habe, dann wird von der doppelten 
Negation nur der erste Strich verwendet um mit DeMorgan eine negation 
durchzuführen.
Der zweite Strich sagt nur, das der gesamte Ausdruck nochmal negiert 
wird.

Stimmt das so?

MfG
#4446187
@  Helpme91 (Gast)

>Hier ein Beispiel was mit NOR realisiert werden soll:

Die Autoformatierung hat dein * gefressen. Das kann man verhindern, wenn 
man den Text mit [ pre ] [ /pre ] (ohne Leerzeichen) einfaßt.
1
x = (a+b) * a * (~b+~c) * d      // Ausgangsgleichung
2

3
x = ~~((a+b) * a * (~b+~c) * d)  // Doppelt negiert
4

5
x = ~(~(a+b) + ~a + ~(~b+~c) + ~d)  // Lösung, eine Negation nach DeMorgan aufgelöst

>Wenn ich das Richtig verstanden habe, dann wird von der doppelten
>Negation nur der erste Strich verwendet um mit DeMorgan eine negation
>durchzuführen.

Ja.

>Der zweite Strich sagt nur, das der gesamte Ausdruck nochmal negiert
>wird.

Ja.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.