Programação D - Operadores de Atribuição

Os seguintes operadores de atribuição são suportados pela linguagem D -

Operador Descrição Exemplo
= É um operador de atribuição simples. Ele atribui valores de operandos do lado direito para operando do lado esquerdo C = A + B atribui valor de A + B em C
+ = É adicionar E operador de atribuição. Ele adiciona o operando direito ao operando esquerdo e atribui o resultado ao operando esquerdo C + = A é equivalente a C = C + A
- = É o operador de atribuição subtrair AND. Ele subtrai o operando direito do operando esquerdo e atribui o resultado ao operando esquerdo. C - = A é equivalente a C = C - A
* = É o operador de atribuição de multiplicação AND. Ele multiplica o operando direito pelo operando esquerdo e atribui o resultado ao operando esquerdo. C * = A é equivalente a C = C * A
/ = É o operador de divisão AND atribuição. Ele divide o operando esquerdo com o operando direito e atribui o resultado ao operando esquerdo. C / = A é equivalente a C = C / A
% = É o módulo E o operador de atribuição. Leva o módulo usando dois operandos e atribui o resultado ao operando esquerdo. C% = A é equivalente a C = C% A
<< = É deslocamento para a esquerda e operador de atribuição. C << = 2 é igual a C = C << 2
>> = É o operador de deslocamento e atribuição à direita. C >> = 2 é igual a C = C >> 2
& = É um operador de atribuição AND bit a bit. C & = 2 é igual a C = C & 2
^ = É um operador de atribuição e OR exclusivo bit a bit. C ^ = 2 é igual a C = C ^ 2
| = É OR inclusivo bit a bit e operador de atribuição C | = 2 é igual a C = C | 2

Exemplo

Tente o exemplo a seguir para entender todos os operadores de atribuição disponíveis na linguagem de programação 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 você compila e executa o programa acima, ele produz o seguinte 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