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.
- Operadores aritméticos
- Operadores relacionales
- Operadores logicos
- Operadores bit a bit
- Operadores de Asignación
- 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 :
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 :
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 :
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 :
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 :
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 :
Publicación traducida automáticamente
Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA