>>= (Operador, Visual Basic)
Actualización: noviembre 2007
Realiza un desplazamiento aritmético a la derecha sobre el valor de una variable o una propiedad y asigna el nuevo valor a la variable o la propiedad.
variableorproperty >>= amount
Partes
variableorproperty
Requerido. Variable o propiedad de un tipo integral (SByte, Byte, Short, UShort, Integer, UInteger, Long o ULong).amount
Requerido. Expresión numérica de un tipo de datos que se amplíe a Integer.
Comentarios
El elemento situado 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 (Visual Basic). El operador >>= asigna el valor situado a su derecha a la variable o la propiedad situada a su izquierda.
Los desplazamientos aritméticos no son circulares, lo que significa que los bits desplazados a 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á del extremo derecho se descartan y el bit del extremo izquierdo se propaga a las posiciones de bit que quedan vacantes a la izquierda. Esto significa que, si variableorproperty tiene un valor negativo, las posiciones vacantes se establecen en uno. Si variableorproperty es positiva o su tipo de datos es un tipo sin signo, las posiciones vacantes se establecen en cero.
Sobrecarga
El operador >> (Operador, Visual Basic) se puede sobrecargar, lo que significa que una clase o una estructura pueden definir de nuevo su comportamiento cuando un operando tiene el tipo de dicha clase o estructura. La sobrecarga del operador >> afecta al comportamiento del operador >>=. Si el código utiliza >>= en una clase o estructura que sobrecarga >>, asegúrese de conocer su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador.
Ejemplo
En el siguiente ejemplo se utiliza el operador >>= para desplazar el modelo de bits de una variable Integer a la derecha en 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 (one bit was lost off the right end).