Solidité - Opérateurs

Qu'est-ce qu'un opérateur?

Prenons une expression simple 4 + 5 is equal to 9. Ici 4 et 5 sont appelésoperands et '+' est appelé le operator. Solidity prend en charge les types d'opérateurs suivants.

  • Opérateurs arithmétiques
  • Opérateurs de comparaison
  • Opérateurs logiques (ou relationnels)
  • Opérateurs d'affectation
  • Opérateurs conditionnels (ou ternaires)

Jetons un coup d'œil sur tous les opérateurs un par un.

Opérateurs arithmétiques

Solidity prend en charge les opérateurs arithmétiques suivants -

Supposons que la variable A vaut 10 et la variable B 20, alors -

Montrer l'exemple

Sr.No. Opérateur et description
1

+ (Addition)

Ajoute deux opérandes

Ex: A + B donnera 30

2

- (Subtraction)

Soustrait le deuxième opérande du premier

Ex: A - B donnera -10

3

* (Multiplication)

Multiplier les deux opérandes

Ex: A * B donnera 200

4

/ (Division)

Divisez le numérateur par le dénominateur

Ex: B / A donnera 2

5

% (Modulus)

Produit le reste d'une division entière

Ex: B% A donnera 0

6

++ (Increment)

Augmente une valeur entière de un

Ex: A ++ donnera 11

sept

-- (Decrement)

Diminue une valeur entière de un

Ex: A-- donnera 9

Opérateurs de comparaison

Solidity prend en charge les opérateurs de comparaison suivants -

Supposons que la variable A vaut 10 et la variable B 20, alors -

Montrer l'exemple

Sr.No. Opérateur et description
1

= = (Equal)

Vérifie si la valeur de deux opérandes est égale ou non, si oui, la condition devient vraie.

Ex: (A == B) n'est pas vrai.

2

!= (Not Equal)

Vérifie si la valeur de deux opérandes est égale ou non, si les valeurs ne sont pas égales, la condition devient vraie.

Ex: (A! = B) est vrai.

3

> (Greater than)

Vérifie si la valeur de l'opérande gauche est supérieure à la valeur de l'opérande droit, si oui, la condition devient vraie.

Ex: (A> B) n'est pas vrai.

4

< (Less than)

Vérifie si la valeur de l'opérande gauche est inférieure à la valeur de l'opérande droit, si oui, la condition devient vraie.

Ex: (A <B) est vrai.

5

>= (Greater than or Equal to)

Vérifie si la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie.

Ex: (A> = B) n'est pas vrai.

6

<= (Less than or Equal to)

Vérifie si la valeur de l'opérande gauche est inférieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie.

Ex: (A <= B) est vrai.

Opérateurs logiques

Solidity prend en charge les opérateurs logiques suivants -

Supposons que la variable A vaut 10 et la variable B 20, alors -

Montrer l'exemple

Sr.No. Opérateur et description
1

&& (Logical AND)

Si les deux opérandes sont différents de zéro, la condition devient vraie.

Ex: (A && B) est vrai.

2

|| (Logical OR)

Si l'un des deux opérandes est différent de zéro, la condition devient vraie.

Ex: (A || B) est vrai.

3

! (Logical NOT)

Inverse l'état logique de son opérande. Si une condition est vraie, alors l'opérateur logique NOT la rendra fausse.

Ex:! (A && B) est faux.

Opérateurs au niveau du bit

Solidity prend en charge les opérateurs binaires suivants -

Supposons que la variable A vaut 2 et la variable B vaut 3, alors -

Montrer l'exemple

Sr.No. Opérateur et description
1

& (Bitwise AND)

Il effectue une opération booléenne AND sur chaque bit de ses arguments entiers.

Ex: (A & B) est égal à 2.

2

| (BitWise OR)

Il effectue une opération booléenne OU sur chaque bit de ses arguments entiers.

Ex: (A | B) vaut 3.

3

^ (Bitwise XOR)

Il effectue une opération OU exclusive booléenne sur chaque bit de ses arguments entiers. OU exclusif signifie que l'opérande un est vrai ou que l'opérande deux est vrai, mais pas les deux.

Ex: (A ^ B) vaut 1.

4

~ (Bitwise Not)

C'est un opérateur unaire et fonctionne en inversant tous les bits de l'opérande.

Ex: (~ B) est -4.

5

<< (Left Shift)

Il déplace tous les bits de son premier opérande vers la gauche du nombre de places spécifié dans le deuxième opérande. Les nouveaux bits sont remplis de zéros. Décaler une valeur vers la gauche d'une position équivaut à la multiplier par 2, déplacer deux positions équivaut à multiplier par 4, et ainsi de suite.

Ex: (A << 1) vaut 4.

6

>> (Right Shift)

Opérateur de décalage binaire vers la droite. La valeur de l'opérande de gauche est déplacée vers la droite du nombre de bits spécifié par l'opérande de droite.

Ex: (A >> 1) vaut 1.

sept

>>> (Right shift with Zero)

Cet opérateur est exactement comme l'opérateur >>, sauf que les bits décalés à gauche sont toujours nuls.

Ex: (A >>> 1) vaut 1.

Opérateurs d'affectation

Solidity prend en charge les opérateurs d'affectation suivants -

Montrer l'exemple

Sr.No. Opérateur et description
1

= (Simple Assignment )

Attribue des valeurs de l'opérande de droite à l'opérande de gauche

Ex: C = A + B attribuera la valeur de A + B à C

2

+= (Add and Assignment)

Il ajoute l'opérande droit à l'opérande gauche et affecte le résultat à l'opérande gauche.

Ex: C + = A équivaut à C = C + A

3

−= (Subtract and Assignment)

Il soustrait l'opérande droit de l'opérande gauche et affecte le résultat à l'opérande gauche.

Ex: C - = A équivaut à C = C - A

4

*= (Multiply and Assignment)

Il multiplie l'opérande droit par l'opérande gauche et affecte le résultat à l'opérande gauche.

Ex: C * = A équivaut à C = C * A

5

/= (Divide and Assignment)

Il divise l'opérande de gauche par l'opérande de droite et affecte le résultat à l'opérande de gauche.

Ex: C / = A équivaut à C = C / A

6

%= (Modules and Assignment)

Il prend le module en utilisant deux opérandes et affecte le résultat à l'opérande de gauche.

Ex: C% = A équivaut à C = C% A

Note - La même logique s'applique aux opérateurs au niveau du bit, donc ils deviendront comme << =, >> =, >> =, & =, | = et ^ =.

Opérateur conditionnel (? :)

L'opérateur conditionnel évalue d'abord une expression pour une valeur vraie ou fausse, puis exécute l'une des deux instructions données en fonction du résultat de l'évaluation.

Montrer l'exemple

Sr.No. Opérateur et description
1

? : (Conditional )

Si la condition est vraie? Alors valeur X: Sinon valeur Y