Solidez - Operadores

¿Qué es un operador?

Tomemos una expresión simple 4 + 5 is equal to 9. Aquí 4 y 5 se llamanoperands y '+' se llama operator. Solidity admite los siguientes tipos de operadores.

  • Operadores aritméticos
  • Operadores de comparación
  • Operadores lógicos (o relacionales)
  • Operadores de Asignación
  • Operadores condicionales (o ternarios)

Echemos un vistazo a todos los operadores uno por uno.

Operadores aritméticos

Solidity admite los siguientes operadores aritméticos:

Suponga que la variable A tiene 10 y la variable B tiene 20, entonces -

Mostrar ejemplo

No Señor. Operador y descripción
1

+ (Addition)

Agrega dos operandos

Ex: A + B dará 30

2

- (Subtraction)

Resta el segundo operando del primero

Ex: A - B dará -10

3

* (Multiplication)

Multiplica ambos operandos

Ex: A * B dará 200

4

/ (Division)

Divide el numerador entre el denominador

Ex: B / A dará 2

5

% (Modulus)

Genera el resto de una división entera

Ex: B% A dará 0

6

++ (Increment)

Aumenta un valor entero en uno

Ex: A ++ dará 11

7

-- (Decrement)

Disminuye un valor entero en uno.

Ex: A-- dará 9

Operadores de comparación

Solidity admite los siguientes operadores de comparación:

Suponga que la variable A tiene 10 y la variable B tiene 20, entonces -

Mostrar ejemplo

No Señor. Operador y descripción
1

= = (Equal)

Comprueba si el valor de dos operandos es igual o no, en caso afirmativo, la condición se cumple.

Ex: (A == B) no es cierto.

2

!= (Not Equal)

Comprueba si el valor de dos operandos es igual o no, si los valores no son iguales, la condición se vuelve verdadera.

Ex: (A! = B) es cierto.

3

> (Greater than)

Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho; si es así, la condición se cumple.

Ex: (A> B) no es cierto.

4

< (Less than)

Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho; en caso afirmativo, la condición se cumple.

Ex: (A <B) es cierto.

5

>= (Greater than or Equal to)

Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho; si es así, la condición se convierte en verdadera.

Ex: (A> = B) no es cierto.

6

<= (Less than or Equal to)

Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho; si es así, la condición se cumple.

Ex: (A <= B) es cierto.

Operadores logicos

Solidity admite los siguientes operadores lógicos:

Suponga que la variable A tiene 10 y la variable B tiene 20, entonces -

Mostrar ejemplo

No Señor. Operador y descripción
1

&& (Logical AND)

Si ambos operandos son distintos de cero, la condición se cumple.

Ex: (A && B) es cierto.

2

|| (Logical OR)

Si alguno de los dos operandos es distinto de cero, la condición se cumple.

Ex: (A || B) es cierto.

3

! (Logical NOT)

Invierte el estado lógico de su operando. Si una condición es verdadera, entonces el operador lógico NOT la convertirá en falsa.

Ex:! (A && B) es falso.

Operadores bit a bit

Solidity admite los siguientes operadores bit a bit:

Suponga que la variable A tiene 2 y la variable B tiene 3, entonces -

Mostrar ejemplo

No Señor. Operador y descripción
1

& (Bitwise AND)

Realiza una operación booleana AND en cada bit de sus argumentos enteros.

Ex: (A y B) es 2.

2

| (BitWise OR)

Realiza una operación booleana OR en cada bit de sus argumentos enteros.

Ex: (A | B) es 3.

3

^ (Bitwise XOR)

Realiza una operación OR exclusiva booleana en cada bit de sus argumentos enteros. OR exclusivo significa que el operando uno es verdadero o el operando dos es verdadero, pero no ambos.

Ex: (A ^ B) es 1.

4

~ (Bitwise Not)

Es un operador unario y opera invirtiendo todos los bits del operando.

Ex: (~ B) es -4.

5

<< (Left Shift)

Mueve todos los bits de su primer operando a la izquierda el número de lugares especificado en el segundo operando. Los nuevos bits se llenan de ceros. Cambiar un valor a la izquierda en una posición equivale a multiplicarlo por 2, cambiar dos posiciones equivale a multiplicar por 4, y así sucesivamente.

Ex: (A << 1) es 4.

6

>> (Right Shift)

Operador de cambio a la derecha binario. El valor del operando izquierdo se mueve hacia la derecha por el número de bits especificado por el operando derecho.

Ex: (A >> 1) es 1.

7

>>> (Right shift with Zero)

Este operador es como el operador >>, excepto que los bits desplazados hacia la izquierda son siempre cero.

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

Operadores de Asignación

Solidity admite los siguientes operadores de asignación:

Mostrar ejemplo

No Señor. Operador y descripción
1

= (Simple Assignment )

Asigna valores del operando del lado derecho al operando del lado izquierdo

Ex: C = A + B asignará el valor de A + B a C

2

+= (Add and Assignment)

Agrega el operando derecho al operando izquierdo y asigna el resultado al operando izquierdo.

Ex: C + = A es equivalente a C = C + A

3

−= (Subtract and Assignment)

Resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo.

Ex: C - = A es equivalente a C = C - A

4

*= (Multiply and Assignment)

Multiplica el operando derecho por el operando izquierdo y asigna el resultado al operando izquierdo.

Ex: C * = A es equivalente a C = C * A

5

/= (Divide and Assignment)

Divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo.

Ex: C / = A es equivalente a C = C / A

6

%= (Modules and Assignment)

Toma el módulo usando dos operandos y asigna el resultado al operando izquierdo.

Ex: C% = A es equivalente a C = C% A

Note - La misma lógica se aplica a los operadores bit a bit, por lo que se convertirán en << =, >> =, >> =, & =, | = y ^ =.

Operador condicional (? :)

El operador condicional primero evalúa una expresión para un valor verdadero o falso y luego ejecuta una de las dos declaraciones dadas dependiendo del resultado de la evaluación.

Mostrar ejemplo

No Señor. Operador y descripción
1

? : (Conditional )

¿Si la condición es verdadera? Entonces valor X: De lo contrario valor Y