Operatoren

07.02.2018
 Daten mathematisch analysieren > Formel > FPScript > Operatoren

Operatoren

In FPScript können Sie eine Vielzahl von Operatoren verwenden u. a. für arithmetische und logische Operationen, Vergleichs- und Verkettungsoperationen. Mit den Operatoren können Sie einzelne Werte oder auch ganze Datenreihen, Datenmatrizen, Signale, Signalreihen oder Raumkurven verrechnen.

Operatorvorrang

Wenn in einem Ausdruck mehrere Operatoren vorkommen, wird jeder Bestandteil in einer vordefinierten Reihenfolge ausgewertet und aufgelöst. Diese Reihenfolge wird als Operatorvorrang bezeichnet. Sie können den Operatorvorrang mit Klammern übergehen und die Auswertung von Bestandteilen eines Ausdrucks vor anderen Bestandteilen erzwingen. Operationen innerhalb von Klammern werden immer vor den Operationen außerhalb von Klammern ausgeführt. Innerhalb der Klammern gilt jedoch der normale Operatorvorrang.

Wenn ein Ausdruck Operatoren verschiedener Kategorien enthält, werden diese in der unten angegebenen Reihenfolge ausgewertet. Alle Vergleichsoperatoren haben denselben Rang, d. h. sie werden in der Reihenfolge ihres Auftretens von links nach rechts ausgewertet. Arithmetische und logische Operatoren werden in der folgenden Reihenfolge ausgewertet:

Beschreibung

Symbol

Konvertierung

In Wahrheitswert wandeln

Boolean

In 16-Bit Ganzzahl wandeln

Integer16

In 32-Bit Ganzzahl wandeln

Integer32

In 64-Bit Ganzzahl wandeln

Integer64

In 32-Bit Fließkommazahl wandeln

FloatingPoint32

In 64-Bit Fließkommazahl wandeln

FloatingPoint64

In Komplexe 16-Bit Ganzzahl wandeln

ComplexInteger16

In Komplexe 32-Bit Ganzzahl wandeln

ComplexInteger32

In Komplexe 64-Bit Ganzzahl wandeln

ComplexInteger64

In Komplexe 32-Bit Fließkommazahl wandeln

ComplexFloatingPoint32

In Komplexe 64-Bit Fließkommazahl wandeln

ComplexFloatingPoint64

In Zeichenkette wandeln

String

In Kalenderzeit wandeln

CalendarTime

In Zeitspanne wandeln

TimeSpan

Einheit konvertieren

Unit

Größe in Wert wandeln

Value

Arithmetisch

Unäre Negation

-

Potenzierung

^

Multiplikation

*

Division

/

Divisionsrest

Mod

Addition

+

Subtraktion

-

Vorzeichen

#

Komplexe Zahlen

Realteil bilden

Real

Imaginärteil bilden

Imag

Konjugiert-Komplexe Zahl bilden

*

Vergleich *

Kleiner als

<

Größer als

>

Kleiner oder gleich

<=

Größer oder gleich

>=

Gleichheit

==

Ungleichheit

<>

Logisch

Binäre Negation

~

Binäre Konjunktion

&

Binäre Exklusion

XOr

Binäre Disjunktion

|

Logische Negation *

Not

Logische Konjunktion *

And

Logische Disjunktion *

Or

Datenorganisation

Verkettung

:

Vervielfachung

#

Komplexe Zahl bilden

( , )

Bündeln

{ , }

Datenreihe bilden

( , , )

Liste bilden

[ , ]

Datenzugriff

Komponente

.X .Y .Z

Eigenschaft

.

Listenelement

.[ ]

Index

[ , ]

Werteindex

[[ , ]]

Indirektion *

$$

Wenn in einem Ausdruck Multiplikationen und Divisionen auftreten, wird jede Operation in der Reihenfolge ihres Auftretens von links nach rechts ausgeführt. Genauso wird verfahren, wenn in einem Ausdruck Addition und Subtraktion oder Verkettung und Vervielfachung vorkommen.

Assoziativität

Die Potenzierung ist der einzige Operator der rechts-assoziativ ist. Das bedeutet, dass mehrere Potenzierungen in Folge von rechts nach links aufgelöst werden. Alle anderen Operatoren werden von links nach rechts abgearbeitet.

Verarbeitung logischer Ausdrücke

Eine logische Konjunktion (Und-Verknüpfung) oder Folgen hiervon werden nur soweit ausgewertet, bis das Ergebnis definitiv feststeht, d. h. bis der erste Ausdruck FALSE ergibt. Das Gleiche gilt für die logische Disjunktion (Oder-Verknüpfung). Diese werden ausgewertet, bis der erste Ausdruck TRUE ergibt. Dies gilt nicht für die bitweisen Logikoperationen.

Im folgenden Beispiel wird Test(Datensatz2) nur aufgerufen, wenn Test(Datensatz1) TRUE ergibt. Wenn Test(Datensatz1) nämlich FALSE ergibt, dann liegt das Endergebnis der Und-Verknüpfung mit FALSE fest.

If Test(Datensatz1) And Test(Datensatz2) Then
    ...
End

* Dieser Operator bzw. alle Operatoren dieser Kategorie sind in FlexPro View nicht verfügbar.

Share article or send as email:

You might be interested in these articles