# Logik

Logikbausteine können auf der Grundlage der Bedingung mathematischer oder logischer Ausdrücke verschiedene Operationen durchführen.

Die folgenden Logikbausteine führen eine Operation in Abhängigkeit vom Ergebnis einer Bedingung aus. Bestimmen Sie die [If] oder [If Else] -Bedingung mit einem Wertebaustein oder einem Logikbaustein.

- If
- If Else

Die folgenden Logikbausteine geben numerische oder logische Werte zur Verwendung in Bedingungen aus.

- Math
- Vergleichsbedingung
- Logische Bedingung
- Not

Hinweis:

- Wenn ein Wert eines der folgenden Elemente enthält, ist der Wert nicht definiert:

- Kommunikationsfehler (Variable in schlechter Qualität)

- Zugriff auf Feldelementenummer außerhalb des Bereichs

- Durch Null dividieren.

- Wenn der Logikbaustein undefinierte Werte enthält, ist das Ergebnis undefiniert. Bei der Verwendung als [Logische Bedingung] kann jedoch trotzdem ein Ergebnis ausgegeben werden.

Logische Bedingung

## If

Dieser Baustein führt Operationen im Modus [Do] aus, wenn die Bedingung [If] als wahr bewertet wurde.

##### Baustein

##### Text

'if(CONDITION){}'

Hinweis: Wenn während der Ausführung des Skripts die [If]-Bedingung undefiniert ist, wird der Baustein verlassen.

## If Else

Dieser Baustein führt die Operationen im Modus [Do] aus, wenn die Bedingung [If] als wahr bewertet wurde und die Operationen unter [Else] und [If]-Bedingung falsch („False“) ist.

##### Baustein

##### Text

'if(CONDITION){}else{}'

Hinweis: Wenn während der Ausführung des Skripts die [If]-Bedingung undefiniert ist, überspringt die Logik [Do] und führt den [Else] Vorgang aus.

## Math

Dieser Baustein ist ein mathematischer Ausdruck. Fügen Sie den Wertebaustein in den linken Operanden (X) und den rechten Operanden (Y) ein, und wählen Sie den Operator.

##### Baustein

##### Text

'SOURCE1 * SOURCE2'

Operator | Ausdruck | Beschreibung
+ | X + Y | Hinzufügen
- | X - Y | Subtrahieren
* | X * Y | Multiplizieren
/ | X / Y | Teilen
% | X % Y | Grundlagen der Division
& | X & Y | Gibt das Ergebnis einer AND-Operation auf Bitebene zurück. Wenn X = 0110; Y= 1100, dann ist das Ergebnis 0100.
| | X | Y | Gibt das Ergebnis einer OR-Operation auf Bitebene zurück. Wenn X = 0110; Y= 1100, dann ist das Ergebnis 1110.
^ | X ^ Y | Gibt das Ergebnis einer XOR-Operation auf Bitebene zurück. Wenn X = 0110; Y= 1100, dann ist das Ergebnis 1010.
<< | X << Y | Verschiebung nach links. Verschiebt die Bits in X um die Y-Anzahl an Bitpositionen nach links. Behält das Vorzeichen bei.
>> | X >> Y | Verschiebung nach rechts. Verschiebt die Bits in X um die Y-Anzahl an Bitpositionen nach rechts. Behält das Vorzeichen bei.
>>> | X >>> Y | Auffüllen mit Nullen, Verschiebung nach rechts. Verschiebt die Bits in X um die Y-Anzahl an Bitpositionen nach rechts und füllt die verschobenen Bits links mit Nullen auf, wobei das Vorzeichen nicht beibehalten wird.

Hinweis:

- AND/OR/XOR gibt immer einen 32-Bit-Ganzzahlwert ohne Vorzeichen aus.
- Wenn der Eingabewert negativ ist, geben die Bit-Ausdrücke einen 32-Bit-Ganzzahlwert aus.
- Wenn der Eingabewert positiv ist, geben die Bit-Ausdrücke einen 32-Bit-Ganzzahlwert ohne Vorzeichen zurück.

Hinweis:

Das mathematische Ausdrucksergebnis enthält Dezimalstellen.

(Beispiel 1)
Im folgenden Fallbeispiel ist der Wert von INT1 gleich 101; das Ergebnis lautet entsprechend 10.1 (.1 wird nicht trunkiert).

##### Baustein

##### Text

'INT1 / 10'

Zum Trunkieren von Dezimalstellen verwenden Sie den Baustein „floor".
(Beispiel 2)
Im folgenden Fallbeispiel ist der Wert von INT1 gleich 101; das Ergebnis entspricht 10.

##### Baustein

##### Text

'$Math.floor((INT1 / 10))'

## Vergleichsbedingung

Dieser Baustein ist eine Vergleichsbedingung. Fügen Sie in den linken Operanden (X) und den rechten Operanden (Y) einen Wertebaustein ein, und wählen Sie einen Operator.

##### Baustein

##### Text

'CONDITION1 == CONDITION2'

Operator | Beschreibung | Beispiel
<= | Gibt „True“ zurück, wenn der Wert von X kleiner oder gleich dem Wert von Y ist. | Wenn X = 7 und Y = 33, dann ist der Ausdruck X <= Y wahr.
>= | Gibt „True“ zurück, wenn der Wert von X größer oder gleich dem Wert von Y ist. | Wenn X = 32 und Y = 10, dann ist der Ausdruck X >= Y wahr.
< | Gibt „True“ zurück, wenn der Wert von X kleiner ist als der Wert von Y ist. | Wenn X = 7 und Y = 38, dann ist der Ausdruck X < Y wahr.
> | Gibt „True“ zurück, wenn der Wert von X größer ist als der Wert von Y. | Wenn X = 27 und Y = 14, dann ist der Ausdruck X > Y wahr.
!= | Gibt „True“ zurück, wenn der Wert von X ungleich dem Wert von Y ist. | Wenn X = 7 und Y = 33, dann ist der Ausdruck X != Y wahr.
== | Gibt „True“ zurück, wenn der Wert von X gleich dem Wert von Y ist. | Wenn X = 5 und Y = 5, dann ist der Ausdruck X == Y wahr.

## Logische Bedingung

Dieser Baustein ist eine logische Bedingung. Fügen Sie in den linken Operanden (X) und den rechten Operanden (Y) einen Wertebaustein ein, und wählen Sie einen Operator.

##### Baustein

##### Text

'CONDITION1 && CONDITION2'

Operator | Beschreibung | Beispiel
&& | Logisches AND Gibt "Wahr" zurück, wenn beide wahr sind. | Wenn X = wahr (true), Y = falsch (false), dann ist der Ausdruck X && Y falsch (false). Hinweis: Auch wenn der Wert eines der Operanden möglicherweise undefiniert ist, kann die sich ergebende logische Bedingung als falsch bewertet werden, wenn der andere Operand falsch ist. Sehen Sie hierzu die nachstehende Tabelle.
X | Y | Ergebnis
nicht definiert | nicht definiert | nicht definiert
nicht definiert | true | nicht definiert
nicht definiert | false | false
true | nicht definiert | nicht definiert
false | nicht definiert | false
|| | Logische Summe Gibt "wahr" zurück, wenn beide Eingaben falsch sind. | Wenn X = wahr (true), Y = falsch (false), dann ist der Ausdruck X || Y wahr (true). Hinweis: Auch wenn der Wert eines der Operanden möglicherweise undefiniert ist, kann die resultierende logische Bedingung als wahr bewertet werden, wenn der andere Operand wahr ist. Sehen Sie hierzu die nachstehende Tabelle.
X | Y | Ergebnis
nicht definiert | nicht definiert | nicht definiert
nicht definiert | true | true
nicht definiert | false | nicht definiert
true | nicht definiert | true
false | nicht definiert | nicht definiert

## Not

Dieser Baustein führt eine logische Negation oder Bitnegation durch. Fügen Sie einen Wertebaustein in den Operanden (X) ein, und wählen Sie einen Operator.

##### Baustein

##### Text

'!SOURCE'

Operator | Beschreibung | Beispiel
! | Logisches NOT Logisches NOT gibt die Inverse des booleschen Wertes zurück. | Wenn X = falsch (false), dann ist das Ergebniss wahr (true).
˜ | Bit NOT Gibt den inversen Wert von jedem Bit zurück. Hinweis: Beim Verwenden von Ganzzahlen ist die Bitlänge des Bit-Ausdrucks immer 32 Bits. | Wenn X = 0011, dann ist das Ergebnis 1100.