Operador >> (Referencia de C#)
El operador de desplazamiento a la derecha (>>) desplaza su primer operando a la derecha el número de bits especificado por su segundo operando.
Comentarios
Si el primer operando es int o uint (cantidad de 32 bits), los cinco bits de orden inferior del segundo operando proporcionan el valor de desplazamiento (segundo operando & 0x1f).
Si el primer operando es long o ulong (cantidad de 64 bits), los seis bits de orden inferior del segundo operando proporcionan el valor de desplazamiento (segundo operando & 0x3f).
Si el primer operando es un tipo into long, el desplazamiento a la derecha es un desplazamiento aritmético (los bits vacíos de orden superior toman el bit de signo). Si el primer operando es del tipo uinto ulong, el desplazamiento a la derecha es un desplazamiento lógico (los bits de orden superior se rellenan con ceros).
Los tipos definidos por el usuario pueden sobrecargar el operador >>; el tipo del primer operando debe ser el tipo definido por el usuario, mientras que el tipo del segundo operando debe ser int. Para obtener más información, vea operator (Referencia de C#)). Cuando se sobrecarga un operador binario, el operador de asignación correspondiente, si existe, también se sobrecarga de modo implícito.
Ejemplo
class RightShift
{
static void Main()
{
int i = -1000;
Console.WriteLine(i >> 3);
}
}
/*
Output:
-125
*/