Swift - Operadores

Un operador es un símbolo que le dice al compilador que realice manipulaciones matemáticas o lógicas específicas. Objective-C es rico en operadores integrados y proporciona los siguientes tipos de operadores:

  • Operadores aritméticos
  • Operadores de comparación
  • Operadores logicos
  • Operadores bit a bit
  • Operadores de Asignación
  • Operadores de rango
  • Operadores varios

Este tutorial explicará los operadores aritméticos, relacionales, lógicos, bit a bit, de asignación y otros, uno por uno.

Operadores aritméticos

La siguiente tabla muestra todos los operadores aritméticos compatibles con el lenguaje Swift 4. Asumir variableA tiene 10 y variable B tiene 20, entonces -

Operador Descripción Ejemplo
+ Agrega dos operandos A + B dará 30
- Resta el segundo operando del primero A - B dará -10
* Multiplica ambos operandos A * B dará 200
/ Divide numerador por denominador B / A dará 2
% Operador de módulo y resto de después de una división entera / flotante B% A dará 0

Operadores de comparación

La siguiente tabla muestra todos los operadores relacionales compatibles con el lenguaje Swift 4. Asumir variableA tiene 10 y variable B tiene 20, entonces -

Operador Descripción Ejemplo
== Comprueba si los valores de dos operandos son iguales o no; si es así, entonces la condición se vuelve verdadera. (A == B) no es cierto.
! = Comprueba si los valores de dos operandos son iguales o no; si los valores no son iguales, la condición se cumple. (A! = B) es cierto.
> Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho; si es así, entonces la condición se vuelve verdadera. (A> B) no es cierto.
< Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho; si es así, entonces la condición se vuelve verdadera. (A <B) es cierto.
> = Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho; si es así, entonces la condición se vuelve verdadera. (A> = B) no es cierto.
<= Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho; si es así, entonces la condición se vuelve verdadera. (A <= B) es cierto.

Operadores logicos

La siguiente tabla muestra todos los operadores lógicos compatibles con el lenguaje Swift 4. Asumir variableA contiene 1 y variable B tiene 0, entonces -

Operador Descripción Ejemplo
&& Operador llamado lógico AND. Si ambos operandos son distintos de cero, la condición se cumple. (A && B) es falso.
|| Operador OR lógico llamado. Si alguno de los dos operandos es distinto de cero, la condición se cumple. (A || B) es cierto.
! Operador llamado lógico NOT. Se usa para revertir el estado lógico de su operando. Si una condición es verdadera, entonces el operador lógico NOT hará que sea falsa. ! (A && B) es cierto.

Operadores bit a bit

Los operadores bit a bit trabajan en bits y realizan operaciones bit a bit. Las tablas de verdad para &, | y ^ son las siguientes:

pags q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
Assume A = 60; and B = 13;

In binary format, they will be as follows:

A = 0011 1100

B = 0000 1101

-----------------

A & B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A = 1100 0011

Los operadores bit a bit compatibles con el idioma Swift 4 se enumeran en la siguiente tabla. Asumir variableA tiene 60 y variable B tiene 13, luego 7−

Operador Descripción Ejemplo
Y El operador AND binario copia un bit al resultado, si existe en ambos operandos. (A & B) dará 12, que es 0000 1100
| El operador OR binario copia un bit, si existe en cualquier operando. (A | B) dará 61, que es 0011 1101
^ El operador binario XOR copia el bit, si está establecido en un operando pero no en ambos. (A ^ B) dará 49, que es 0011 0001
~ El operador de complemento binario es unario y tiene el efecto de "voltear" bits. (~ A) dará -61, que es 1100 0011 en forma de complemento a 2.
<< Operador binario de desplazamiento a la izquierda. El valor de los operandos de la izquierda se mueve a la izquierda el número de bits especificado por el operando de la derecha. (A << 2 dará 240, que es 1111 0000
>> Operador de cambio a la derecha binario. El valor de los operandos de la izquierda se mueve hacia la derecha el número de bits especificado por el operando de la derecha. A >> 2 dará 15, que es 0000 1111

Operadores de Asignación

SSwift 4 admite los siguientes operadores de asignación:

Operador Descripción Ejemplo
= Operador de asignación simple, asigna valores de los operandos del lado derecho al operando del lado izquierdo C = A + B asignará el valor de A + B en C
+ = Agregar operador de asignación AND, agrega el operando derecho al operando izquierdo y asigna el resultado al operando izquierdo C + = A es equivalente a C = C + A
- = Restar operador de asignación Y, resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo C - = A es equivalente a C = C - A
* = Operador de asignación de multiplicar Y, multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo C * = A es equivalente a C = C * A
/ = Operador de asignación Dividir Y, divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo C / = A es equivalente a C = C / A
% = Operador de asignación de módulo Y, toma el módulo usando dos operandos y asigna el resultado al operando izquierdo C% = A es equivalente a C = C% A
<< = Operador de desplazamiento Y asignación a la izquierda C << = 2 es lo mismo que C = C << 2
>> = Operador de desplazamiento Y asignación a la derecha C >> = 2 es lo mismo que C = C >> 2
& = Operador de asignación AND bit a bit C & = 2 es lo mismo que C = C & 2
^ = Operador de asignación y OR exclusivo bit a bit C ^ = 2 es lo mismo que C = C ^ 2
| = OR inclusivo bit a bit y operador de asignación C | = 2 es lo mismo que C = C | 2

Operadores de rango

Swift 4 incluye dos operadores de rango, que son atajos para expresar un rango de valores. La siguiente tabla explica estos dos operadores.

Operador Descripción Ejemplo
Rango cerrado (a ... b) define un rango que va desde a hasta b, e incluye los valores ay b. 1 ... 5 da 1, 2, 3, 4 y 5
Gama semiabierta (a .. <b) define un rango que va desde a hasta b, pero no incluye b. 1 .. <5 da 1, 2, 3 y 4
Rango unilateral

a…, define un rango que va desde un hasta el final de los elementos

… A, define un rango desde el principio hasta un

1 ... da 1, 2,3 ... final de elementos

... 2 da comienzo ... a 1,2

Operadores varios

Swift 4 admite algunos otros operadores importantes, incluidos rangey : que se explican en la siguiente tabla.

Operador Descripción Ejemplo
Unario menos El signo de un valor numérico se puede alternar con un prefijo - -3 o -4
Unario Plus Devuelve el valor sobre el que opera, sin ningún cambio. +6 da 6
Condicional ternario ¿Condición? X: Y ¿Si la condición es verdadera? Entonces valor X: De lo contrario valor Y

Precedencia de operadores

La precedencia del operador determina la agrupación de términos en una expresión. Esto afecta cómo se evalúa una expresión. Algunos operadores tienen mayor precedencia que otros; por ejemplo, el operador de multiplicación tiene mayor precedencia que el operador de suma.

Por ejemplo, x = 7 + 3 * 2; aquí, a x se le asigna 13, no 20 porque el operador * tiene mayor precedencia que +, por lo que primero se multiplica por 3 * 2 y luego se suma a 7.

Aquí, los operadores con mayor precedencia aparecen en la parte superior de la tabla, los que tienen la menor prioridad aparecen en la parte inferior. Dentro de una expresión, los operadores de mayor precedencia se evaluarán primero.

Operador Descripción Ejemplo
Operadores de expresión primaria () []. expr ++ expr-- de izquierda a derecha
Operadores unarios

* & + -! ~ ++ expr --expr

* /%

+ -

>> <<

<> <=> =

==! =

De derecha a izquierda
Operadores binarios

Y

^

|

&&

||

de izquierda a derecha
Operador ternario ?: De derecha a izquierda
Operadores de Asignación = + = - = * = / =% = >> = << = & = ^ = | = De derecha a izquierda
Coma , de izquierda a derecha