D Programming - Assignment Operators



The following assignment operators are supported by D language −

Operator Description Example
= It is simple assignment operator. It assigns values from right side operands to left side operand C = A + B assigns value of A + B into C
+= It is add AND assignment operator. It adds right operand to the left operand and assign the result to left operand C += A is equivalent to C = C + A
-= It is subtract AND assignment operator. It subtracts right operand from the left operand and assign the result to left operand. C -= A is equivalent to C = C - A
*= It is multiply AND assignment operator. It multiplies right operand with the left operand and assigns the result to left operand. C *= A is equivalent to C = C * A
/= It is divide AND assignment operator. It divides left operand with the right operand and assign the result to left operand. C /= A is equivalent to C = C / A
%= It is modulus AND assignment operator. It takes modulus using two operands and assign the result to left operand. C %= A is equivalent to C = C % A
<<= It is Left shift AND assignment operator. C <<= 2 is same as C = C << 2
>>= It is Right shift AND assignment operator. C >>= 2 is same as C = C >> 2
&= It is bitwise AND assignment operator. C &= 2 is same as C = C & 2
^= It is bitwise exclusive OR and assignment operator. C ^= 2 is same as C = C ^ 2
|= It is bitwise inclusive OR and assignment operator C |= 2 is same as C = C | 2

Example

Try the following example to understand all the assignment operators available in D programming language −

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; 
}

When you compile and execute the above program it produces the following result −

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
d_programming_operators.htm
Advertisements