>>, opérateur (Informations de référence sur C#)>> Operator (C# Reference)

L’opérateur de décalage vers la droite (>>) décale son premier opérande vers la droite du nombre de bits spécifié par son deuxième opérande.The right-shift operator (>>) shifts its first operand right by the number of bits specified by its second operand.

RemarquesRemarks

Si le premier opérande est de type int ou uint (quantité 32 bits), la valeur du décalage est donnée par les cinq bits de poids faible du second opérande (second opérande & 0x1f).If the first operand is an int or uint (32-bit quantity), the shift count is given by the low-order five bits of the second operand (second operand & 0x1f).

Si le premier opérande est un long ou un ulong (quantité 64 bits), la valeur du décalage est donnée par les six bits de poids faible du second opérande (second opérande & 0x3f).If the first operand is a long or ulong (64-bit quantity), the shift count is given by the low-order six bits of the second operand (second operand & 0x3f).

Si le premier opérande est un int ou un long, le décalage vers la droite est un décalage arithmétique (les bits vierges d’ordre haut prennent la valeur du bit de signe).If the first operand is an int or long, the right-shift is an arithmetic shift (high-order empty bits are set to the sign bit). Si le premier opérande est de type uint ou ulong, le décalage vers la droite est un décalage logique (les bits de poids fort prennent la valeur zéro).If the first operand is of type uint or ulong, the right-shift is a logical shift (high-order bits are zero-filled).

Les types définis par l’utilisateur peuvent surcharger l’opérateur >> ; le type du premier opérande doit être le type défini par l’utilisateur, et le type du second opérande doit être int. Pour plus d’informations, consultez operator.User-defined types can overload the >> operator; the type of the first operand must be the user-defined type, and the type of the second operand must be int. For more information, see operator. Quand un opérateur binaire est surchargé, l’opérateur d’assignation correspondant, le cas échéant, est aussi implicitement surchargé.When a binary operator is overloaded, the corresponding assignment operator, if any, is also implicitly overloaded.

ExempleExample

class RightShift
{
    static void Main()
    {
        int i = -1000;
        Console.WriteLine(i >> 3);
    }
}
/*
Output:
-125
*/

Voir aussiSee Also

Référence C#C# Reference
Guide de programmation C#C# Programming Guide
Opérateurs C#C# Operators