Operador de desplazamiento a la derecha bit a bit (>>)
Desplaza los bits de una expresión hacia la derecha y mantiene el signo.
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 derecha el número de bits especificado en el argumento expression2. El bit de signo del argumento expression1 se utiliza para rellenar los dígitos de la izquierda. Los dígitos desplazados hacia la derecha se descartan. 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 superara 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, después de evaluar el siguiente código, la variable temp tiene un valor igual a -4: -14 (11110010 en binario de complemento a dos) desplazado hacia la derecha dos bits es igual a -4 (11111100 en binario de complemento a dos).
var temp
temp = -14 >> 2
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 00000011
// The value of y is 3
print(y); // Prints 3
Requisitos
Vea también
Referencia
Operador de desplazamiento a la izquierda bit a bit (<<)
Operador de asignación y desplazamiento a la derecha (>>=)
Operador de desplazamiento a la derecha sin signo (>>>)