Opérateurs et fonctions disponibles

Créer des expressions en utilisant des données, des opérateurs, des fonctions mathématiques et des conversions de types de données.

Opérateurs

Opérateurs d'entiers

Utilisez ces opérateurs pour effectuer des opérations arithmétiques simples. Utilisez-les pour calculer des valeurs numériques, telles que 'TankLevel + 60'.

Opérateur

Expression

Description

[+]

X + Y

Ajouter

[-]

X - Y

Soustraire

[*]

X * Y

Multiplication

[/]

X / Y

Diviser

[%]

X % Y

Reste de division

[()]

(X + Y)*10

 

Utilisez l'opérateur Ajouter (+) pour effectuer une concaténation de chaînes de caractères. En d'autres termes, vous pouvez concaténer des chaînes de caractères avec le symbole Ajouter. Par exemple, « Bonjour » + «   » + « Fred » donne la chaîne « Bonjour Fred ».

Opérateur Bitwise

Opérateur

Expression

Description

[>>]

X >> Y

Décalage à droite. Décale les bits de X vers la droite, du nombre Y de positions de bit. Le signe est conservé.

[<<]

X << Y

Décalage à gauche. Décale les bits de X vers la gauche, du nombre Y de positions de bit. Le signe est conservé.

[>>>]

X >>> Y

Remplissage par des zéros, décalage à droite. Décale les bits de X vers la droite, du nombre Y de positions de bit et remplace les bits décalés vers la gauche par des zéros. Le signe n'est pas conservé.

[&]

X & Y

Renvoie le résultat de l'opération AND au niveau des bits.

Si X = 0110 et Y = 0100, le résultat est 1100

[|]

X | Y

Renvoie le résultat de l'opération OR au niveau des bits.

Si X = 0110 et Y = 1110, le résultat est 1100

[^]

X ^ Y

Renvoie le résultat de l'opération XOR au niveau des bits.

Si X = 0110 et Y = 1010, le résultat est 1100

[~]

~X

Renvoie les bits de la valeur X.

Si X = 0110, le résultat est 1001

[!]

!X

Renvoie True si X est différent.

Remarque :

  • OR/AND/XOR/NOT retourne toujours une valeur entière non signée 32 bits.
  • Lorsque la valeur entrée est négative, les expressions de décalage de bit retourne une valeur entière 32 bits.
  • Lorsque la valeur entrée est positive, les expressions de décalage de bit retourne une valeur entière non signée 32 bits.

 

Opérateurs de sortie booléens

Ces opérateurs comparent deux valeurs. L'expression renvoie True si la comparaison définie est vraie. L'expression renvoie False si la comparaison définie est vraie. Utilisez-le pour comparer des valeurs numériques, telles que 'TankLevel > 30'.

Lorsque l'un des éléments suivants apparaît dans une valeur, le résultat n'est pas défini :
  • Erreur de communication (la variable est de 'mauvaise' qualité)
  • Accès à un numéro d'élément de tableau qui est hors limites
  • Divisez par zéro.

Opérateur

Expression

Description

[&&]

X && Y

AND logique.

Remarque :

  • Les expressions BOOL dans un convertisseur doivent être évaluées à une valeur booléenne. Si l'expression est évaluée à tout autre type de données, la valeur est indéfinie.
  • Même si la valeur de l'un des opérandes peut être indéfinie, la condition logique qui en résulte peut être évaluée comme fausse si l'autre opérande est faux. Veuillez consulter le tableau ci-dessous.
    Opérateur gauche Opérateur droit Résultat
    non défini non défini non défini
    non défini true non défini
    non défini false false
    true non défini non défini
    false non défini false

[||]

X || Y

OR logique.

Remarque :

  • Les expressions BOOL dans un convertisseur doivent être évaluées à une valeur booléenne. Si l'expression est évaluée à tout autre type de données, la valeur est indéfinie.
  • Même si la valeur de l'un des opérandes peut être indéfinie, la condition logique qui en résulte peut être évaluée comme vraie si l'autre opérande est vrai. Veuillez consulter le tableau ci-dessous.
    Opérateur gauche Opérateur droit Résultat
    non défini non défini non défini
    non défini true true
    non défini false non défini
    true non défini

    true

    false non défini non défini

[==]

X == Y

Renvoie True si X est égal à Y.

[!=]

X != Y

Renvoie True si X est différent de Y.

[<=]

X <= Y

Renvoie True si X est inférieur ou égal à Y.

Remarque : Cet opérateur ne peut pas être utilisé pour les variables BOOL, STRING et WSTRING.

[>=]

X >= Y

Renvoie True si X est supérieur ou égal à Y.

Remarque : Cet opérateur ne peut pas être utilisé pour les variables BOOL, STRING et WSTRING.

[<]

X < Y

Renvoie True si X est inférieur à Y.

Remarque : Cet opérateur ne peut pas être utilisé pour les variables BOOL, STRING et WSTRING.

[>]

X > Y

Renvoie True si X est supérieur à Y.

Remarque : Cet opérateur ne peut pas être utilisé pour les variables BOOL, STRING et WSTRING.

Math

Méthode

Description

abs(a)

Renvoie la valeur absolue.

Parameter : integer, return : integer -or-
parameter : long, return : long -or-
parameter : float, return : float -or-
parameter : double, return : double

acos(double a)

Renvoie l'arc cosinus.

Parameter : double, return : double

asin(double a)

Renvoie l'arc sinus.

Parameter : double, return : double

atan(double a)

Renvoie l'arc tangente

Parameter : double, return : double

atan2(double a, double b)

Renvoie l'arc tangente de a/b.

parameter a: double, parameter b: double, return : double

ceil(double a)

Renvoie le plus petit entier supérieur au paramètre.

Parameter : double, return : double

cos(double a)

Renvoie le cosinus.

Parameter : double, return : double

E

Valeur de base des logarithmes népériens. Nombre à virgule flottante double précision. 2,71828182845904523545f

Remarque : Utilisez la syntaxe Math.E.

exp(double a)

Renvoie le nombre exponentiel e (c.-à-d. 2,718...) élevé à la puissance d'une valeur double.

Parameter : double, return : double

floor(double a)

Renvoie le plus grand entier inférieur au paramètre.

Parameter : double, return : double

IEEEremainder(double a, double b)

Renvoie le reste de la division du paramètre a par le paramètre b.

parameter a: double, parameter b: double, return : double

log(double a)

Renvoie le logarithme népérien d'un paramètre.

Parameter : double, return : double

max(a,b)

Renvoie le plus grand des 2 paramètres.

parameter a: integer, parameter b: integer, return : integer -or-
parameter a: long, parameter b: long, return : long -or-
parameter a: float, parameter b: float, return : float -or-
parameter a: double, parameter b: double, return : double

min(a,b)

Renvoie le plus petit des 2 paramètres.

parameter a: integer, parameter b: integer, return : integer -or-
parameter a: long, parameter b: long, return : long -or-
parameter a: float, parameter b: float, return : float -or-
parameter a: double, parameter b: double, return : double

PI

Rapport entre la circonférence d'un cercle et son diamètre.

3,14159265358979323846f

Remarque : Utilisez la syntaxe Math.PI.

pow(double a, double b)

Renvoie ab.

parameter a: double, parameter b: double, return : double

random()

Renvoie un nombre aléatoire compris entre 0,0 et 1,0.

parameter : none, return : double

Remarque : La sortie de cette fonction est un numéro de point flottant compris entre 0 et 1.

rint(double a)

Renvoie l'entier le plus proche du paramètre.

Parameter : double, return : double

round(a)

Renvoie la valeur long la plus proche pour un paramètre double et l'entier le plus proche pour un paramètre flottant.

Parameter : double, return : long -or-
parameter : float, return : integer

sin(double a)

Renvoie le sinus d'un paramètre.

Parameter : double, return : double

sqrt(double a)

Renvoie la racine carrée d'un paramètre.

Parameter : double, return : double

tan(double a)

Renvoie la tangente d'un paramètre.

Parameter : double, return : double

Conversion du type

Utilisez la conversion du type pour convertir le type de données. L'exemple suivant illustre une expression valide dans laquelle la variable LWORD est convertie en une variable SINT :

Type

Description

(sint)

Retourne la valeur arrondie à un nombre entier signé 8 bits.

(usint)

Retourne la valeur arrondie à un nombre entier non signé 8 bits.

(byte)

Retourne la valeur arrondie à un nombre entier non signé 8 bits.

(int)

Retourne la valeur arrondie à un nombre entier signé 16 bits.

(uint)

Retourne la valeur arrondie à un nombre entier non signé 16 bits.

(word)

Retourne la valeur arrondie à un nombre entier non signé 16 bits.

(dint)

Retourne la valeur arrondie à un nombre entier signé 32 bits.