Arithmetische Operatoren
Die erste Klasse der Operationen sind die arithmetichen Operationen. Sie braucht man, um mit Zahlen zu rechnen.
| Operator | Int | Float | Operationen | Beispiel | Ergebnis |
| + | × | × | Vorzeichen (unäres Plus) | +7 | 7 |
| - | × | × | Vorzeichen (unäres Minus) | -8 | -8 |
| + | × | × | Addition (binäres Plus) | 5 + 6 | 11 |
| - | × | × | Subtraktion (binäres Minus) | 9 - 3 | 6 |
| * | × | × | Multiplikation | 8 * 4 | 32 |
| / | × | × | Division (bei Integer-Zahlen abgerundet!) | 1 / 2 | 0 |
| / | × | × | Division (sobald Gleitkommazahlen dabei, als Gleitkommadivision durchgeführt) | 1.0 / 2 | 0.5 |
| % | × | | Modulo (Rest bei IntegerDivision, Vorzeichen des Dividenden bleibt | -7 % 3 | -1 |
| = | × | × | Zuweisung (linker Seite wird der Wert der rechten zugewiesen) | a = 8 | 8 |
Relationale Operatoren (Vergleichsoperatoren)
Die relationalen Operatoren führen Vergleiche durch und ergeben wie die logischen Operatoren Wahrheitswerte, d.h. 0 oder 1.
| Operator |
Int |
Float |
Operation |
Beispiel |
Ergebnis |
| < |
x |
x |
Vergleich auf kleiner |
x < y |
1, wenn x kleiner y, 0 sonst |
| > |
x |
x |
Vergleich auf größer |
y > x |
1, wenn y größer x, 0 sonst |
| <= |
x |
x |
Vergleich auf kleiner oder gleich |
x <= y |
1, wenn x kleiner oder gleich y, 0 sonst |
| >= |
x |
x |
Vergleich auf größer oder gleich |
y >= x |
Wie bei x <= y |
| == |
x |
x |
Prüfung auf Gleichheit |
x == y |
1, wenn x und y gleich, 0 sonst |
| != |
x |
x |
Prüfung auf Ungleichheit |
x != 43 |
0 wenn x gleich 43, 1 sonst |
Logische Operatoren
Die letzte Klasse an Operatoren sind die logischen Operatoren. Dabei werden Integerzahlen als wahrer Wert interpretiert, wenn sie ungleich Null sind, als falscher Wert sonst. Das Ergebnis ist 1 falls wahr. 0 falls falsch. Auch hier ist eine Anwendung auf Fließkommazahlen möglich, aber nicht sinnvoll.
| Operator |
Int |
Float |
Operation |
Beispiel |
Ergebnis |
| && |
x |
|
Logisches UND |
i && j |
1, wenn i und j ungleich 0, 0 sonst |
| || |
x |
|
Logisches ODER |
a || b |
0 wenn a und b gleich 0, 1 sonst |
| ! |
x |
|
Logisches NOT (Negation) |
!q |
|
Da logische Werte in C++ nichts anderes sind als Integerzahlen, kann man mit ihnen auch rechnen. Dabei kann man z.B. folgenden Trick nutzen:
a = 5 + !b *7;
Dieser Ausdruck weist a den Wert 5 oder 12 zu, je nachdem ob b Null ist oder nicht (falls b nicht Null, ist !b = Null und !0 ist 1). Man sollte sich allerdings im klaren darüber sein, dass solche Tricks der Lesbarkeit des Programms schaden!
No hay comentarios:
Publicar un comentario