D Programmazione - Operatori di assegnazione

I seguenti operatori di assegnazione sono supportati dal linguaggio D:

Operatore Descrizione Esempio
= È un semplice operatore di assegnazione. Assegna i valori dagli operandi del lato destro all'operando del lato sinistro C = A + B assegna il valore di A + B a C
+ = È l'operatore add AND di assegnazione. Aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro C + = A è equivalente a C = C + A
- = È l'operatore di sottrazione AND di assegnazione. Sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro. C - = A è equivalente a C = C - A
* = È moltiplicare AND operatore di assegnazione. Moltiplica l'operando destro con l'operando sinistro e assegna il risultato all'operando sinistro. C * = A è equivalente a C = C * A
/ = È un operatore di divisione AND di assegnazione. Divide l'operando sinistro con l'operando destro e assegna il risultato all'operando sinistro. C / = A è equivalente a C = C / A
% = È modulo AND operatore di assegnazione. Richiede il modulo utilizzando due operandi e assegna il risultato all'operando sinistro. C% = A è equivalente a C = C% A
<< = È l'operatore di assegnazione AND di spostamento a sinistra. C << = 2 è uguale a C = C << 2
>> = È l'operatore di assegnazione AND di spostamento a destra. C >> = 2 è uguale a C = C >> 2
& = È un operatore di assegnazione AND bit per bit. C & = 2 è uguale a C = C & 2
^ = È OR esclusivo bit per bit e operatore di assegnazione. C ^ = 2 è uguale a C = C ^ 2
| = È OR bit per bit inclusivo e operatore di assegnazione C | = 2 è uguale a C = C | 2

Esempio

Prova il seguente esempio per comprendere tutti gli operatori di assegnazione disponibili nel linguaggio di programmazione 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; 
}

Quando compili ed esegui il programma sopra, produce il seguente risultato:

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