Operador de atribuição deslocar direita (>> =)

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.

  • expression
    Qualquer expressão numérica.

Comentários

Usar esse operador é quase o mesmo que especificar result = result >> expression, exceto pelo fato de que resultado somente é avaliada uma vez.

The >>= operador desloca os bits de resultado direita pelo número de bits especificado em expressão.O bit de sinal de resultado é usado para preencher os dígitos à esquerda.Dígitos deslocados para a direita são descartados.O operador mascara expressão para evitar deslocamento resultado por excesso.Caso contrário, se o deslocar quantidade excedeu o número de bits no tipo de dados de resultado, todos os bits originais seria deslocar ed para gerar um resultado trivial.Para garantir que cada mudança deixa pelo menos um dos bits do originais, os operadores de deslocamento, use a seguinte fórmula para calcular o valor da mudança real: de máscaraexpressão (usando o operador AND bit a bit) com um 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 (11110010 em binário) deslocados direito dois bits é igual a -4 (11111100 em binário).

var temp
temp = -14
temp >>= 2

Para ilustrar como funciona o mascaramento, 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

Conceitos

Precedência de operador

Resumo do operador

Coerção por operadores bit a bit

Referência

Bit a bit Left deslocar operador (<)

Bit a bit RIGHT deslocar operador (>)

Operador RIGHT deslocar não assinado (>)

Operador de atribuição (=)