Operatoren
Operatoren sind eine kompakte Möglichkeit, oft verwendete Berechnungsoperationen wie Addition oder Multiplikation zu spezifizieren. Wenn mehrere Operatoren verwendet werden, muss die Reihenfolge festgelegt werden, in der diese evaluiert werden. Die Reihenfolge kann explizit durch Verwendung von Klammern festgelegt werden. Wenn es keine Klammern gibt, wird die Reihenfolge implizit durch die Priorität der Operatoren bestimmt. Höherpriore Operatoren werden zuerst ausgewertet, gefolgt von denjenigen mit geringerer Priorität. Innerhalb derselben Prioritätengruppe werden die Operatoren abhängig vom jeweiligen Operator von links nach rechts oder von rechts nach links ausgewertet.
Beispiele:
- a + b + c = (a + b) + c
- a + b * c = a + (b * c)
- - - a = -(-a)
- cond1? val1: cond2? val2: val3 = cond1? val1: (cond2? val2: val3)
Die folgende Tabelle zeigt die Prioritäten der Operatoren. Die Operatoren in der ersten Zeile haben die höchste Priorität. Operatoren in einer Zeile haben die gleiche Priorität und die Auswertungsrichtung ist als links-nach-rechts oder rechts-nach-links spezifiziert.
|
Operatoren |
Argumente |
Auswertung |
|---|---|---|
|
- ~ ! |
Unär |
Rechts-nach-links |
|
** |
Binär |
Links-nach-rechts |
|
* / % |
Binär |
Links-nach-rechts |
|
+ - |
Binär |
Links-nach-rechts |
|
< > <= >= = |
Binär |
Links-nach-rechts |
|
BIT_AND & |
Binär |
Links-nach-rechts |
|
BIT_XOR ^ |
Binär |
Links-nach-rechts |
|
BIT_OR | |
Binär |
Links-nach-rechts |
|
AND && |
Binär |
Links-nach-rechts |
|
XOR ^^ |
Binär |
Links-nach-rechts |
|
OR || |
Binär |
Links-nach-rechts |
|
?: |
Ternär |
Rechts-nach-links |
|
, |
Binär |
Links-nach-rechts |
Weitere Details zu den Operatoren finden Sie in der Toolbox des Editors für berechnete Signale.