Operador de turno de desvio à direita (>>)
Direita desloca os bits de uma expressão, mantendo o sinal.
expression1 >> expression2
Argumentos
Expressão1
Qualquer expressão numérica.Expressão2
Qualquer expressão numérica.
Comentários
O >> operador desloca os bits de Expressão1 direita pelo número de bits especificado em Expressão2. O sinal de um pouco de Expressão1 é usada para preencher os dígitos à esquerda. Dígitos deslocados para a direita são descartados. O tipo de dados de Expressão1 determina o tipo de dados retornado por este operador.
O >> máscaras do operador Expressão2 para evitar a mudança de Expressão1 por muito. Caso contrário, se a quantidade de shift excedido o número de bits no tipo de dados de Expressão1, 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ão2 (usando o operador bit a bit and) com um número menor que o número de bits em Expressão1.
Exemplo
Por exemplo, após o código a seguir é avaliado, temp tem um valor de -4: -14 (binário de complemento do 11110010 em dois) deslocados direita dois bits é igual a -4 (binário do complemento do 11111100 em dois).
var temp
temp = -14 >> 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
var y : byte = x >> 10;
// Actual shift is 10 & (8-1) = 2
// The bits stored in y are 00000011
// The value of y is 3
print(y); // Prints 3
Requisitos
Consulte também
Referência
Desvio à esquerda o operador de deslocamento (<<)
Direita do operador de atribuição de deslocamento (>> =)
Não assinado do operador de deslocamento à direita (>>>)