Operador >>= (Visual Basic)
Executa um deslocamento aritmético à direita no valor de uma variável ou propriedade e atribui o resultado de volta à variável ou propriedade.
Sintaxe
variableorproperty >>= amount
Partes
variableorproperty
Obrigatórios. Variável ou propriedade de um tipo integral (SByte
, Byte
, Short
, UShort
, Integer
, UInteger
, Long
ou ULong
).
amount
Obrigatórios. Expressão numérica de um tipo de dados que é ampliada para Integer
.
Comentários
O elemento no lado esquerdo do operador >>=
pode ser uma variável escalar simples, uma propriedade ou um elemento de uma matriz. A variável ou propriedade não pode ser ReadOnly.
O operador >>=
primeiro executa um deslocamento aritmético à direita no valor da variável ou da propriedade. Em seguida, o operador atribui o resultado dessa operação à variável ou à propriedade.
Os deslocamentos aritméticos não são circulares, o que significa que os bits deslocados de uma extremidade do resultado não são reintroduzidos na outra extremidade. Em um deslocamento aritmético para a direita, os bits deslocados além da posição de bit mais à direita são descartados, e o bit mais à esquerda é propagado para as posições de bit desocupadas à esquerda. Isso significa que, se variableorproperty
tiver um valor negativo, as posições desocupadas serão definidas como uma. Se variableorproperty
for positivo ou se o tipo de dados for um tipo sem sinal, as posições desocupadas serão definidas como zero.
Sobrecarga
O operador >> pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo dessa classe ou estrutura. Sobrecarregar o operador >>
afeta o comportamento do operador >>=
. Se o seu código usa >>=
em uma classe ou estrutura que sobrecarrega >>
, certifique-se de entender o comportamento redefinido. Para obter mais informações, confira Procedimentos de operador.
Exemplo
O exemplo a seguir usa o operador >>=
para mudar o padrão de bit de uma variável Integer
para a direita pela quantidade especificada e atribuir o resultado à variável.
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).