Partilhar via


Direita do operador de atribuição de deslocamento (>> =)

Direita desloca o valor de uma variável pelo número de bits especificado no valor de uma expressão, mantém o sinal e atribui o resultado à variável.

result >>= expression

Argumentos

  • resultado
    Qualquer variável numérica.

  • expressão
    Qualquer expressão numérica.

Comentários

Usar esse operador é quase a mesma especificação de result = result >> expression, exceto que resultado é avaliada apenas uma vez.

O >> = operador desloca os bits de resultado direita pelo número de bits especificado em expressão. O sinal de um pouco de resultado é usada para preencher os dígitos à esquerda. Dígitos deslocados para a direita são descartados. As máscaras de operador expressão para evitar a mudança de resultado por muito. Caso contrário, se a quantidade de shift excedido o número de bits no tipo de dados de resultado, todos os bits originais seriam deslocados de fora para dar um resultado trivial. Para garantir que cada turno deixa pelo menos um dos bits originais, os operadores de deslocamento usam o seguinte fórmula para calcular a quantidade real de shift: máscara de expressão (usando o operador bit a bit and) com um número menor que o número de bits em resultado.

Exemplo

Por exemplo, após o código a seguir é avaliado, temp tem um valor de -4: 14 (de 11110010 em binário) deslocados direita dois bits é igual a -4 (11111100 em binário).

var temp
temp = -14
temp >>= 2

Para ilustrar como o mascaramento funciona, considere o exemplo a seguir.

var x : byte = 15;
// A byte stores 8 bits.
// The bits stored in x are 00001111
x >>= 10;
// Actual shift is 10 & (8-1) = 2
// The bits stored in x are 00000011
// The value of x is 3
print(x); // Prints 3

Requisitos

Versão 1

Consulte também

Referência

Desvio à esquerda o operador de deslocamento (<<)

Operador de turno de desvio à direita (>>)

Não assinado do operador de deslocamento à direita (>>>)

Operador de atribuição (=)

Conceitos

Precedência de operador

Resumo do operador

Coerção de operadores bit a bit