Operatoren, Teil 2 |
|
Operator |
Funktion |
Bemerkungen |
> |
Grösser als |
|
>= |
Grösser oder Gleich |
|
< |
Kleiner als |
|
<= |
Kleiner oder gleich |
|
== |
Gleich |
Nicht zu verwechseln mit dem
Zuweisungsoperator =. if (x = 5) TuEtwas(); Hier wird zuerst der Wert 5 an x zugewiesen. Das Resultat der Zuweisung ist 5 (entspricht logisch wahr) und deswegen wird immer TuEtwas() ausgeführt werden. Der vorherige Inhalt von x geht verloren. |
!= |
Nicht gleich |
Vergleichsoperatoren haben geringeren Vorrang als arithmetische Operatoren.
Operator |
Funktion |
Bemerkungen |
&& |
Logisches UND |
nicht verwechseln mit dem Bit-Operator &. && hat geringeren Vorrang als die Bit-Operatoren. |
|| |
Logisches ODER |
nicht verwechseln mit dem Bit-Operator |. || hat geringeren Vorrang als &&. |
! |
Logisches NICHT |
Man nennt diesen den unären Negationsoperator. ! hat höheren Vorrang als die arithmetischen Operatoren. |
Ausdrücke mit logischen Operatoren werden so lange von links her ausgewertet, bis das Resultat der Verknüpfung feststeht.
Operator |
Funktion |
Bemerkungen |
& |
Bitweises UND |
nicht verwechseln mit &&. Beim Bitweisen UND werden zwei Werte Bit für Bit miteinander verglichen. Überall dort, wo das Bit in beiden Werten gesetzt ist wird es auch im Resultat gesetzt. Beispiel: char a, x, y; Hier wird a der Wert 17 zugewiesen. 00010101 entspricht dezimal 21 |
| |
Bitweises ODER |
nicht verwechseln mit ||. Beim Bitweisen ODER werden zwei Werte Bit für Bit miteinander verglichen. Überall dort, wo das Bit in mindestens einem von beiden Werten gesetzt ist wird es auch im Resultat gesetzt. Beispiel: char a, x, y; Hier wird a der Wert 29 zugewiesen. 00010101 entspricht dezimal 21 |
^ |
Exklusives ODER |
XOR. Hier wird's erst richtig lustig. Beim Bitweisen ODER werden zwei Werte Bit für Bit miteinander verglichen. Überall dort, wo das Bit in genau einem von beiden Werten gesetzt ist wird es auch im Resultat gesetzt. Beispiel: char a, x, y; Hier wird a der Wert 12 zugewiesen. 00010101 entspricht dezimal 21 |
~ |
Komplement |
Vertauscht den Wert jedes einzelnen Bits. Aus 1 wird 0 und aus 0 wird 1. |
<< |
Bitweise nach links schieben |
a = 1 << 2 ergibt a gleich 4. Es erfolgt kein Übertrag, d.h. Bits, die links rausgeschoben werden, gehen verloren. |
>> |
Bitweise nach rechts schieben |
a = 8 >> 1 ergibt a gleich 4. Es erfolgt kein Übertrag, d.h. Bits, die rechts rausgeschoben werden,
gehen verloren. |
|