Operador >>= (Visual Basic)

Realiza un desplazamiento aritmético a la derecha en el valor de una variable o propiedad y asigna el resultado a la variable o propiedad.

Sintaxis

variableorproperty >>= amount  

Partes

variableorproperty
Necesario. Variable o propiedad de un tipo entero (SByte, Byte, Short, UShort, Integer, UInteger, Long o ULong).

amount
Necesario. Expresión numérica de un tipo de datos que se amplía a Integer.

Comentarios

El elemento a la izquierda del operador >>= puede ser una variable escalar simple, una propiedad o un elemento de una matriz. La variable o la propiedad no pueden ser ReadOnly.

El operador >>= realiza en primer lugar un desplazamiento aritmético a la derecha en el valor de la variable o propiedad. A continuación, el operador asigna el resultado de esa operación a la variable o la propiedad.

Los desplazamientos aritméticos no son circulares, lo que significa que los bits desplazados fuera de un extremo del resultado no se vuelven a introducir en el otro extremo. En un desplazamiento aritmético a la derecha, los bits desplazados más allá de la posición de bits más a la derecha se descartan y el bit más a la izquierda se propaga a las posiciones de bits vacías a la izquierda. Esto significa que si variableorproperty tiene un valor negativo, las posiciones vacías se establecen en uno. Si variableorproperty es positivo o si su tipo de datos es un tipo sin signo, las posiciones vacías se establecen en cero.

Sobrecarga

El operador >> puede sobrecargarse, lo que significa que una clase o estructura puede redefinir su comportamiento cuando un operando tiene el tipo de esa clase o estructura. La sobrecarga del operador >> afecta al comportamiento del operador >>=. Si el código usa >>= en una clase o estructura que sobrecarga a >>, asegúrese de que entiende su comportamiento redefinido. Para obtener más información, consulta Operator Procedures.

Ejemplo

En el ejemplo siguiente, se usa el operador >>= para desplazar el patrón de bits de una variable Integer a la derecha por la cantidad especificada y asignar el resultado a la variable.

Dim var As Integer = 10
Dim shift As Integer = 2
var >>= shift
' The value of var is now 2 (two bits were lost off the right end).

Consulte también