Compartir a través de


Operador de desplazamiento a la izquierda bit a bit (<<)

Actualización: noviembre 2007

Desplaza los bits de una expresión hacia la izquierda.

expression1 << expression2

Argumentos

  • expression1
    Cualquier expresión numérica.

  • expression2
    Cualquier expresión numérica.

Comentarios

El operador << desplaza los bits del argumento expression1 hacia la izquierda el número de bits especificado en el argumento expression2. El tipo de datos de expression1 determina el tipo de datos devuelto por este operador.

El operador << enmascara el argumento expression2 para evitar que expression1 se desplace demasiado. Si no, en el caso de que la cantidad de desplazamiento excediera el número de bits del tipo de datos de expression1, todos los bits originales se alejarían lo suficiente como para dar un resultado trivial. Para garantizar que cada desplazamiento conserva al menos uno de los bits originales, los operadores de desplazamiento utilizan la fórmula siguiente para calcular la cantidad de desplazamiento actual: enmascarar expression2 (utilizando el operador AND bit a bit) con número de bits menos que el de expression1.

Ejemplo

Por ejemplo:

var temp
temp = 14 << 2

La variable temp tiene un valor igual a 56 porque 14 (00001110 en sistema binario) desplazado hacia la izquierda dos bits es igual a 56 (00111000 en sistema binario).

Para mostrar el modo de funcionamiento del enmascaramiento, tenga en cuenta el ejemplo siguiente.

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 00111100
// The value of y is 60
print(y); // Prints 60

Requisitos

Versión 1

Vea también

Conceptos

Precedencia de operadores

Resumen de operadores

Conversión realizada por operadores bit a bit

Referencia

Operador de asignación y desplazamiento a la izquierda (<<=)

Operador de desplazamiento a la derecha bit a bit (>>)

Operador de desplazamiento a la derecha sin signo (>>>)