Operatore >> (Riferimenti per C#)
Aggiornamento: novembre 2007
L'operatore di spostamento a destra (>>) sposta il primo operando verso destra in base al numero di bit specificati dal secondo operando.
Note
Se il primo operando è un tipo int o uint (quantità a 32 bit), il conteggio dello spostamento verrà dato dai cinque bit meno significativi del secondo operando (secondo operando & 0x1f).
Se il primo operando è un tipo long o ulong (quantità a 64 bit), il conteggio dello spostamento sarà dato dai sei bit meno significativi del secondo operando (secondo operando & 0x3f).
Se il primo operando è di tipo int o long, lo spostamento verso destra sarà uno spostamento aritmetico, ovvero i bit vuoti più significativi vengono impostati come il bit del segno. Se il primo operando è di tipo uint o ulong, lo spostamento verso destra sarà uno spostamento logico, ovvero i bit più significativi vengono riempiti di zeri.
I tipi definiti dall'utente possono sottoporre a overload l'operatore >>. Il tipo del primo operando deve essere un tipo definito dall'utente, mentre il tipo del secondo operando deve essere int. Per ulteriori informazioni, vedere operator. Quando si esegue l'overload di un operatore binario, viene eseguito in modo implicito anche l'overload dell'eventuale operatore di assegnazione corrispondente.
Esempio
class RightShift
{
static void Main()
{
int i = -1000;
Console.WriteLine(i >> 3);
}
}
/*
Output:
-125
*/