Pular para o conteúdo

Operadores de Atribuição

Operador Descrição
=Atribuir um valor à variável
+=Adicionar um valor à variável
-=Subtrair um valor da variável
*=Multiplicar a variável por um valor
/=Dividir a variável por um valor
%=Atribuir à variável o resto da divisão da variável por um valor
//=Atribuir à variável o piso da divisão da variável por um valor
**=Elevar o valor da variável a potência de um número
&=Fazer AND, bit a bit, da variável com um valor
|=Fazer OR, bit a bit, da variável com um valor
^=Fazer XOR, bit a bit, da variável com um valor
>>=Fazer deslocamento, à direita, de determinada quantidade de bits do valor da variável
<<=Fazer deslocamento, à esquerda, de determinada quantidade de bits do valor da variável

Considere x = 7 e y = 3. As operações para essas duas variáveis são mostradas abaixo.

  • x \; += \; y \rightarrow x = 7 + 3 \rightarrow x= 10
  • x \; -= \; y \rightarrow x = 7 - 3 \rightarrow x = 4
  • x \; *= \; y \rightarrow x = 7 * 3 \rightarrow x = 21
  • x \; /= \; y \rightarrow x = 7 / 3 \rightarrow x = 2.3335
  • x \; \%= \;y \rightarrow x = 7 \% 3 \rightarrow x = 1 (o resto da divisão de 7 por 3 é 1)
  • x \; //= \; y \rightarrow x = 7 // 3 \rightarrow x = 2 ( a divisão de 7 por 3 é 2.3335, o menor inteiro é então 2)
  • x \; **= \; y \rightarrow x = 7^3 \rightarrow x = 343
  • x \; \&= \; y \rightarrow x = 3 (Obs:7_{10} = 111_2 e 3_{10} = 011_2, então (111 AND 011 = 011)_2 que corresponde a 3 na base decimal)
  • x \; |= \; y \rightarrow x = 7 (Obs: 7_{10} = 111_2 e 3_{10} = 011_2, então (111 OR 011 = 111)_2 que corresponde a 7 na base decimal)
  • x \; \wedge= \; y \rightarrow x = 4 (Obs: 7_{10} = 111_2 e 3_{10} = 011_2, então (111 XOR 011 = 100)_2 que corresponde a 4 na base decimal)
  • x \; >>= \; y \rightarrow x = 0 (Obs: 7_{10} = 111_2, ao fazer 3 deslocamentos de bits à direita temos 000_2 que corresponde a zero na base decimal)
  • x \; <<= \; y \rightarrow x = 56 (Obs: 7_{10} = 111_2, ao fazer 3 deslocamentos de bits à esquerda temos 111000_2 que corresponde a 56 na base decimal)