AND - Gatter?

... komplette Frage anzeigen

2 Antworten

a = b (bzw. a == b) prüft, ob a und b gleich sind, also entweder beide 0 oder beide 1 und gibt bei Gleichheit 1, sonst 0 zurück.

a & b (bzw. a && b) gibt nur 1 zurück, wenn a = 1 und b = 1 ist, sonst 0. So sind die Verknüpfungen definiert.

Bei Prüfung auf Gleichheit willst du wissen, ob die linke Seite gleich der rechten ist. Bei einer Und-Verknüpfung willst du wahr (1) haben, wenn die linke Seite wahr ist und die rechte Seite wahr ist.

So ist das definiert.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von PWolff
01.03.2016, 11:24

Die Funktion (a = b) bzw. (a == b) entspricht einem Äquivalenzgatter (äquivalent einem XOR-Gatter mit nachgeschaltetem Inverter).

0
Kommentar von ralphdieter
01.03.2016, 15:00

Wetten, du weißt gar nicht, was eine "if - Schleife" ist? :-)

1

Ein wesentlicher Unterschied liegt in der Stelligkeit. Die If-Anweisung nimmt einen Ausdruck entgegen dessen Wahrheitswert ausgewertet wird, und entscheidet ob ein Anweisungsblock ausgeführt wird oder nicht. 

z.B. if(true), if(true or false), if(3 > 5) if (a==b)... usw

Der AND-Operator nimmt zwei Bool-Ausdrücke entgegen und gibt einen daraus erzeugten Wahrheitswert zurück (der dann z.B. mit if abgefragt werden könnte, um einen Codeabschnitt auszuführen, wenn beide Ausdrücke WAHR ergeben).

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?