Solidez – Operadores

En cualquier lenguaje de programación, los operadores juegan un papel vital, es decir, crean una base para la programación. Del mismo modo, la funcionalidad de Solidity también está incompleta sin el uso de operadores. Los operadores permiten a los usuarios realizar diferentes operaciones en los operandos. Solidity admite los siguientes tipos de operadores en función de su funcionalidad.

  1. Operadores aritméticos
  2. Operadores relacionales
  3. Operadores logicos
  4. Operadores bit a bit
  5. Operadores de Asignación
  6. Operador Condicional

Operadores aritméticos

Estos operadores se utilizan para realizar operaciones aritméticas o matemáticas. Solidity admite los siguientes operadores aritméticos: 

Operador Denotación Descripción
Suma + Se utiliza para sumar dos operandos.
Sustracción Se utiliza para restar el segundo operando del primero
Multiplicación * Se utiliza para multiplicar ambos operandos.
División / Se usa para dividir numerador por denominador
Módulo % Da el resto después de la división entera
Incremento ++ Aumenta el valor entero en uno
Decremento Disminuye el valor entero en uno

Ejemplo: En el siguiente ejemplo, el contrato SolidityTest demuestra los diferentes tipos de operadores aritméticos mencionados anteriormente.

Solidity

// Solidity contract to demonstrate
// Arithmetic Operator
pragma solidity ^0.5.0;
 
// Creating a contract
contract SolidityTest {
 
    // Initializing variables
    uint16 public a = 20;
    uint16 public b = 10;
 
    // Initializing a variable
    // with sum
    uint public sum = a + b;
 
    // Initializing a variable
    // with the difference
    uint public diff = a - b;
 
    // Initializing a variable
    // with product
    uint public mul = a * b;
 
    // Initializing a variable
    // with quotient
    uint public div = a / b;
 
    // Initializing a variable
    // with modulus
    uint public mod = a % b;
 
    // Initializing a variable
    // decrement value
    uint public dec = --b;
 
    // Initializing a variable
    // with increment value
    uint public inc = ++a;
     
}

Producción :  

Arithematic Operator

Operadores relacionales

Estos operadores se utilizan para comparar dos valores. Solidity admite los siguientes operadores relacionales:  

Operador Denotación Descripción
Igual == Comprueba si dos valores son iguales o no, devuelve verdadero si son iguales y viceversa
No es igual != Comprueba si dos valores son iguales o no, devuelve verdadero si no es igual y viceversa
Mas grande que > Comprueba si el valor izquierdo es mayor que el derecho o no, devuelve verdadero si es mayor y viceversa
Menos que < Comprueba si el valor izquierdo es menor que el derecho o no, devuelve verdadero si es menor y viceversa
Mayor qué o igual a >= Comprueba si el valor izquierdo es mayor e igual que el derecho o no, devuelve verdadero si es mayor e igual y viceversa
Menos que o igual a <= Comprueba si el valor izquierdo es menor que el derecho o no, devuelve verdadero si es menor e igual, y viceversa

Ejemplo: En el siguiente ejemplo, el contrato SolidityTest demuestra los diferentes tipos de operadores relacionales mencionados anteriormente. 

Solidity

// Solidity program to demonstrate
// Relational Operator
pragma solidity ^0.5.0;
 
// Creating a contract
contract SolidityTest {
 
    // Declaring variables
    uint16 public a = 20;
    uint16 public b = 10;
 
    // Initializing a variable
    // with bool equal result
    bool public eq = a == b;
 
    // Initializing a variable
    // with bool not equal result
    bool public noteq = a != b;
    
    // Initializing a variable
    // with bool greater than result
    bool public gtr = a > b;
 
    // Initializing a variable
    // with bool less than result
    bool public les = a < b;
 
    // Initializing a variable
    // with bool greater than equal to result
    bool public gtreq = a >= b;
 
    // Initializing a variable
    // bool less than equal to result
    bool public leseq = a <= b;
     
}

Producción :  

Relational Operator

Operadores logicos

Estos operadores se utilizan para combinar dos o más condiciones. Solidity admite los siguientes operadores aritméticos:  

Operador Denotación Descripción
Y lógico && Devuelve verdadero si ambas condiciones son verdaderas y falso si una o ambas condiciones son falsas
O lógico || Devuelve verdadero si una o ambas condiciones son verdaderas y falso cuando ambas son falsas
NO lógico ! Devuelve verdadero si la condición no se cumple, de lo contrario, es falso

Ejemplo: En el siguiente ejemplo, el contrato logicalOperator demuestra los diferentes tipos de operadores lógicos mencionados anteriormente. 

Solidity

// Solidity program to demonstrate
// Logical Operators
pragma solidity ^0.5.0;
 
// Creating a contract
contract logicalOperator{
 
     // Defining function to demonstrate
     // Logical operator
     function Logic(
       bool a, bool b) public view returns(
       bool, bool, bool){
        
       // Logical AND operator 
       bool and = a&&b;
        
       // Logical OR operator 
       bool or = a||b;
        
       // Logical NOT operator
       bool not = !a;
       return (and, or, not);
 }
}

Producción : 

Logical Operator

Operadores bit a bit

Estos operadores funcionan a un nivel de bit utilizado para realizar operaciones a nivel de bit. Solidity admite los siguientes operadores aritméticos:

Operador Denotación Descripción
Y bit a bit & Realiza la operación booleana AND en cada bit del argumento entero
BitWise O | Realiza la operación OR booleana en cada bit del argumento entero
XOR bit a bit ^ Realiza la operación OR exclusiva booleana en cada bit del argumento entero
No bit a bit ~ Realiza la operación booleana NOT en cada bit del argumento entero 
Shift izquierdo << Mueve todos los bits del primer operando a la izquierda el número de lugares especificado por el segundo operando
Giro a la derecha >> Mueve todos los bits del primer operando a la derecha el número de lugares especificado por el segundo operando

Ejemplo: En el siguiente ejemplo, el contrato SolidityTest demuestra los diferentes tipos de operadores bit a bit mencionados anteriormente.

Solidity

// Solidity program to demonstrate
// Bitwise Operator
pragma solidity ^0.5.0;
 
// Creating a contract
contract SolidityTest {
 
    // Declaring variables
    uint16 public a = 20;
    uint16 public b = 10;
 
    // Initializing a variable
    // to '&' value
    uint16 public and = a & b;
 
    // Initializing a variable
    // to '|' value
    uint16 public or = a | b;
 
    // Initializing a variable
    // to '^' value
    uint16 public xor = a ^ b;
 
    // Initializing a variable
    // to '<<' value
    uint16 public leftshift = a << b;
 
    // Initializing a variable
    // to '>>' value
    uint16 public rightshift = a >> b;
   
    // Initializing a variable
    // to '~' value
    uint16 public not = ~a ;
     
}

Producción : 

Bitwise Operators

Operador de asignación

Estos operadores son para la asignación de valor a una variable. El operando del lado izquierdo es variable mientras que el operando del lado derecho es el valor. Solidity admite los siguientes operadores aritméticos: 

Operador Denotación Descripción
Asignación sencilla  = Simplemente asigna el valor del lado derecho al operando del lado izquierdo
Agregar tarea += Agrega el operando en el lado derecho al operando en el lado izquierdo y asigna el valor al operando izquierdo
Asignación de resta -= Resta el operando en el lado derecho del operando en el lado izquierdo y asigna el valor al operando izquierdo
Asignación de multiplicación *= Multiplica ambos operandos y asigna el valor al operando izquierdo
Dividir asignación /= Divide el operando del lado izquierdo por el operando del lado derecho y asigna el valor al operando izquierdo
Asignación de módulos %= Divide el operando del lado izquierdo por el operando del lado derecho y asigna el resto al operando izquierdo

Ejemplo: En el siguiente ejemplo, el contrato SolidityTest demuestra los diferentes tipos de operadores de asignación mencionados anteriormente.

Solidity

// Solidity program to demonstrate
// Assignment Operator
pragma solidity ^0.5.0;
 
// Creating a contract
contract SolidityTest {
 
        // Declaring variables
        uint16 public assignment = 20;
        uint public assignment_add = 50;
        uint public assign_sub = 50;
        uint public assign_mul = 10;
        uint public assign_div = 50;
        uint public assign_mod = 32;
     
        // Defining function to
        // demonstrate Assignment Operator
        function getResult() public{
           assignment_add += 10;
           assign_sub -= 20;
           assign_mul *= 10;
           assign_div /= 10;
           assign_mod %= 20;
           return ;
        }
}

Producción : 

Assignment Operator

Operadores Condicionales

Es un operador ternario que primero evalúa la expresión y luego verifica la condición para los valores de retorno correspondientes a verdadero o falso. 

Sintaxis: 

if condition true ? then A: else B

Ejemplo: En el siguiente ejemplo, el contrato SolidityTest demuestra el operador condicional. 

Solidity

// Solidity program to demonstrate
// Conditional Operator
pragma solidity ^0.5.0;
 
// Creating a contract
contract SolidityTest{
 
     // Defining function to demonstrate
     // conditional operator
     function sub(
       uint a, uint b) public view returns(
       uint){
      uint result = (a > b? a-b : b-a);
      return result;
 }
}

Producción :  

Conditional Operator

Publicación traducida automáticamente

Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *