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).