Programación D - Operadores de asignación

Los siguientes operadores de asignación son compatibles con el lenguaje D:

Operador Descripción Ejemplo
= Es un simple operador de asignación. Asigna valores de los operandos del lado derecho al operando del lado izquierdo C = A + B asigna el valor de A + B a C
+ = Es un operador de asignación Y suma. Agrega operando derecho al operando izquierdo y asigna el resultado al operando izquierdo C + = A es equivalente a C = C + A
- = Es un operador de asignación Y resta. Resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo. C - = A es equivalente a C = C - A
* = Es operador de multiplicación Y asignación. Multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo. C * = A es equivalente a C = C * A
/ = Es el operador de asignación Y división. Divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo. C / = A es equivalente a C = C / A
% = Es operador de módulo Y asignación. Toma el módulo usando dos operandos y asigna el resultado al operando izquierdo. C% = A es equivalente a C = C% A
<< = Es operador de desplazamiento Y asignación a la izquierda. C << = 2 es lo mismo que C = C << 2
>> = Es el operador de desplazamiento Y asignación a la derecha. C >> = 2 es lo mismo que C = C >> 2
& = Es un operador de asignación AND bit a bit. C & = 2 es lo mismo que C = C & 2
^ = Es operador de asignación y OR exclusivo bit a bit. C ^ = 2 es lo mismo que C = C ^ 2
| = Es operador de asignación y OR inclusivo bit a bit 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 D:

import std.stdio;

int main(string[] args) {
   int a = 21;
   int c ;

   c =  a; 
   writefln("Line 1 - =  Operator Example, Value of c = %d\n", c );  
   
   c +=  a; 
   writefln("Line 2 - += Operator Example, Value of c = %d\n", c );
   
   c -=  a; 
   writefln("Line 3 - -= Operator Example, Value of c = %d\n", c );
   
   c *=  a; 
   writefln("Line 4 - *= Operator Example, Value of c = %d\n", c ); 
   
   c /=  a; 
   writefln("Line 5 - /= Operator Example, Value of c = %d\n", c );  
   
   c  = 200; 
   c = c % a; 
   writefln("Line 6 - %s= Operator Example, Value of c = %d\n",'\x25', c );
   
   c <<=  2; 
   writefln("Line 7 - <<= Operator Example, Value of c = %d\n", c ); 
   
   c >>=  2; 
   writefln("Line 8 - >>= Operator Example, Value of c = %d\n", c );
   
   c &=  2; 
   writefln("Line 9 - &= Operator Example, Value of c = %d\n", c ); 
   
   c ^=  2; 
   writefln("Line 10 - ^= Operator Example, Value of c = %d\n", c ); 
   
   c |=  2; 
   writefln("Line 11 - |= Operator Example, Value of c = %d\n", c );
   
   return 0; 
}

Cuando compila y ejecuta el programa anterior, produce el siguiente resultado:

Line 1 - =  Operator Example, Value of c = 21
  
Line 2 - += Operator Example, Value of c = 42
  
Line 3 - -= Operator Example, Value of c = 21
  
Line 4 - *= Operator Example, Value of c = 441
  
Line 5 - /= Operator Example, Value of c = 21 
 
Line 6 - %= Operator Example, Value of c = 11
  
Line 7 - <<= Operator Example, Value of c = 44 
 
Line 8 - >>= Operator Example, Value of c = 11 
 
Line 9 - &= Operator Example, Value of c = 2

Line 10 - ^= Operator Example, Value of c = 0 
 
Line 11 - |= Operator Example, Value of c = 2