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