User manual

79Compiler
© 2005 Conrad Electronic
5.2.5 Operatoren
Prioritäten von Operatoren
Operatoren teilen arithmetische Ausdrücke in Teilausdrücke. Die Operatoren werden dann in der
Reihenfolge ihrer Priorität (Präzedenz) ausgewertet. Ausdrücke mit Operatoren von gleicher
Präzedenz werden von links nach rechts berechnet. Beispiel:
i= 2+3*4-5;
// Ergebnis 9 => erst 3*4, dann +2 danach -5
Mann kann die Reihenfolge der Abarbeitung beinflußen, in dem man Klammern setzt. Klammern
haben die größte Priorität. Möchte man das letzte Beispiel strikt von links nach rechts auswerten:
i= (2+3)*4-5;
// Ergebnis 15 => erst 2+3, dann *4, danach -5
Eine Aufstellung der Prioritäten findet sich in der Präzedenz Tabelle.
5.2.5.1 Arithmetische Operatoren
Alle arithmetischen Operatoren, mit Ausnahme von Modulo, sind für Integer und Fließkomma
Datentypen definiert. Nur Modulo ist auf einen Integerdatentyp beschränkt.
Es ist zu beachten, daß in einem Ausdruck die Zahl 7 einen Integer Datentyp zugewiesen
bekommt. Möchte man explizit eine Zahl vom Datentyp
float
erzeugen, so ist ein Dezimalpunkt
einzufügen: 7.0
Operator Erklärung Beispiel Ergebnis
+ Addition 2+1
3.2 + 4
3
7.2
- Subtraktion 2 - 3
22 - 1.1e1
-1
11
* Multiplikation 5 * 4 20
/ Division 7 / 2
7.0 / 2
3
3.5
% Modulo 15 % 4
17 % 2
3
1
- negatives Vorzeichen -(2+2) -4
5.2.5.2 Bitoperatoren
Bitoperatoren sind nur für Integer Datentypen erlaubt.
Operator Erklärung Beispiel Ergebnis
& Und 0x0f & 3
0xf0 & 0x0f
3
0
| Oder 1 | 3
0xf0 | 0x0f
3
0xff