Share via


Operador << (Referencia de C#)

Actualización: noviembre 2007

El operador de desplazamiento a la izquierda (<<) desplaza su primer operando a la izquierda el número de bits especificado por su segundo operando. El tipo del segundo operando debe ser int.

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.

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.

Los bits de orden superior del primer operando se descartan y los bits vacíos de orden inferior se rellenan con ceros. Las operaciones de desplazamiento nunca producen desbordamientos.

Los tipos definidos por el usuario pueden sobrecargar el operador << (vea operator (Referencia de C#)); el tipo del primer operando debe ser el tipo definido por el usuario, mientras que el tipo del segundo operando debe ser int. Cuando se sobrecarga un operador binario, el operador correspondiente de asignación, si existe, también se sobrecarga de modo implícito.

Ejemplo

class MainClass11
{
    static void Main()
    {
        int i = 1;
        long lg = 1;
        Console.WriteLine("0x{0:x}", i << 1);
        Console.WriteLine("0x{0:x}", i << 33);
        Console.WriteLine("0x{0:x}", lg << 33);
    }
}
/*
Output:
0x2
0x2
0x200000000
*/

Comentarios

Observe que i<<1 e i<<33 dan el mismo resultado, ya que 1 y 33 tienen los mismos cinco bits de orden inferior.

Vea también

Conceptos

Guía de programación de C#

Referencia

Operadores de C#

Otros recursos

Referencia de C#