Operadores de asignación en Objective-C
Existen los siguientes operadores de asignación compatibles con el lenguaje Objective-C:
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 división Y asignación, 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 |
Ejemplo
Pruebe el siguiente ejemplo para comprender todos los operadores de asignación disponibles en el lenguaje de programación Objective-C:
#import <Foundation/Foundation.h>
int main() {
int a = 21;
int c ;
c = a;
NSLog(@"Line 1 - = Operator Example, Value of c = %d\n", c );
c += a;
NSLog(@"Line 2 - += Operator Example, Value of c = %d\n", c );
c -= a;
NSLog(@"Line 3 - -= Operator Example, Value of c = %d\n", c );
c *= a;
NSLog(@"Line 4 - *= Operator Example, Value of c = %d\n", c );
c /= a;
NSLog(@"Line 5 - /= Operator Example, Value of c = %d\n", c );
c = 200;
c %= a;
NSLog(@"Line 6 - %= Operator Example, Value of c = %d\n", c );
c <<= 2;
NSLog(@"Line 7 - <<= Operator Example, Value of c = %d\n", c );
c >>= 2;
NSLog(@"Line 8 - >>= Operator Example, Value of c = %d\n", c );
c &= 2;
NSLog(@"Line 9 - &= Operator Example, Value of c = %d\n", c );
c ^= 2;
NSLog(@"Line 10 - ^= Operator Example, Value of c = %d\n", c );
c |= 2;
NSLog(@"Line 11 - |= Operator Example, Value of c = %d\n", c );
}
Cuando compila y ejecuta el programa anterior, produce el siguiente resultado:
2013-09-07 22:00:19.263 demo[21858] Line 1 - = Operator Example, Value of c = 21
2013-09-07 22:00:19.263 demo[21858] Line 2 - += Operator Example, Value of c = 42
2013-09-07 22:00:19.263 demo[21858] Line 3 - -= Operator Example, Value of c = 21
2013-09-07 22:00:19.263 demo[21858] Line 4 - *= Operator Example, Value of c = 441
2013-09-07 22:00:19.263 demo[21858] Line 5 - /= Operator Example, Value of c = 21
2013-09-07 22:00:19.264 demo[21858] Line 6 - %= Operator Example, Value of c = 11
2013-09-07 22:00:19.264 demo[21858] Line 7 - <<= Operator Example, Value of c = 44
2013-09-07 22:00:19.264 demo[21858] Line 8 - >>= Operator Example, Value of c = 11
2013-09-07 22:00:19.264 demo[21858] Line 9 - &= Operator Example, Value of c = 2
2013-09-07 22:00:19.264 demo[21858] Line 10 - ^= Operator Example, Value of c = 0
2013-09-07 22:00:19.264 demo[21858] Line 11 - |= Operator Example, Value of c = 2