Frage eines Neulings. Wie berechnet man den Wert der Formel A f B, wobei f - die binäre Funktion OR oder AND ist?
Antworten
Zu viele Anzeigen?Es gibt einen Unterschied zwischen den bedingten Operatoren && und || und den booleschen Operatoren & und |. Hauptsächlich handelt es sich um einen Unterschied in der Vorrangigkeit (welche Operatoren zuerst ausgewertet werden) und außerdem sind && und || "escaping". Das bedeutet, dass eine Sequenz wie...
cond1 && cond2 && cond3
Wenn cond1 falsch ist, werden weder cond2 noch cond3 ausgewertet, da der Code zu Recht davon ausgeht, dass der Ausdruck unabhängig von ihrem Wert nicht wahr sein kann. Ähnlich...
cond1 || cond2 || cond3
Wenn cond1 wahr ist, werden weder cond2 noch cond3 ausgewertet, da der Ausdruck unabhängig von ihrem Wert wahr sein muss.
Die bitweisen Gegenstücke & und | sind nicht escaping.
Ich hoffe, das hilft.
Logisches OR ist ||
ist das logische UND &&
. Wenn Sie die Negation NOT benötigen, stellen Sie Ihrem Ausdruck das Zeichen !
.
Exemple :
X = (A && B) || C || !D;
Dann ist X wahr, wenn entweder A und B wahr sind oder wenn C wahr ist oder wenn D nicht wahr ist (d. h. falsch).
Wenn Sie ein bitweises AND/OR/NOT wünschen, würden Sie Folgendes verwenden &
, |
et ~
. Wenn Sie jedoch mit booleschen/Wahrheitswerten arbeiten, sollten Sie diese nicht verwenden. Sie bieten keine Kurzschlussauswertung, z. B. aufgrund der Art und Weise, wie eine bitweise Operation funktioniert.
- See previous answers
- Weitere Antworten anzeigen