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