De Morgan Gesetze unklar

Gast #4443380
Lesenswert?
• ▲
▼
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 #4443434
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
@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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
@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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
@  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

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.

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.