<<Operador (Visual Basic)

Executa uma esquerda aritmética deslocar em um padrão de bit.

result = pattern << amount

Partes

  • result
    Obrigatório.Valor numérico integral.O resultado do deslocamento do padrão de bits.O tipo de dados é o mesmo de pattern.

  • pattern
    Obrigatório.Expressão numérica integral.O padrão de bits para ser deslocado.O tipo de dados deve ser um tipo integral (SByte, Byte, Short, UShort, Integer, UInteger, Long, ou ULong).

  • amount
    Obrigatório.Expressão numérica.O número de bits para deslocar o padrão de bits.O tipo de dados deve ser Integer ou ampliável para Integer.

Comentários

Shifts aritméticos são não circulares, que significa que os bits deslocados de uma extremidade do resultado não são reintroduzidos na outra extremidade.Em um deslocamento aritmético à esquerda, os bits deslocados fora do intervalo de tipo de dados o resultado são descartados, e as posições vagas de bits no lado direito estão definidas como zero.

Para evitar uma mudança de bits mais que o resultado pode comportar, o Visual Basic mascara o valor de amount com uma máscara de dimensionar que corresponde ao tipo de dados do pattern. O binário AND desses valores é usado para a quantidade de deslocamentos.As máscaras de tamanho são:

Tipo de dados do pattern

Máscara de tamanho (decimal)

Máscara de tamanho (hexadecimal)

SByte, Byte

7

&H00000007

Short, UShort

15

&H0000000F

Integer, UInteger

31

&H0000001F

Long, ULong

63

&H0000003F

Se amount for zero, o valor de result é idêntico ao valor de pattern.Se amount for negativo, ele é interpretado como um valor não assinado e mascarado com a máscara de tamanho apropriada.

Deslocamentos aritméticos nunca geram exceções de overflow (estouro).

Observação:

O << operador pode ser sobrecarregado, que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo da classe ou estrutura.Se seu código usar esse operador como uma classe ou estrutura, certifique-se de que você compreenda seu comportamento redefinido.Para obter mais informações, consulte Procedimentos de Operador.

Exemplo

O exemplo a seguir utiliza o << operador para executar turnos esquerdos aritméticos em valores de integrais. O resultado sempre tem o mesmo tipo de dados que a expressão que está sendo deslocada.

Dim pattern As Short = 192
' The bit pattern is 0000 0000 1100 0000.
Dim result1, result2, result3, result4, result5 As Short
result1 = pattern << 0
result2 = pattern << 4
result3 = pattern << 9
result4 = pattern << 17
result5 = pattern << -1

sistema autônomo resultados do exemplo anterior são da seguinte maneira:

  • result1 é 192 (0000 0000 1100 0000).

  • result2 é 3072 (0000 1100 0000 0000).

  • result3 é de -32768 (1000 0000 0000 0000).

  • result4 é 384 (0000 0001 0000 1000).

  • result5 é 0 (deslocadas 15 casas à esquerda).

O valor de deslocamento para result4 é calculado como 17 AND 15, que é igual a 1.

Consulte também

Conceitos

Operadores aritméticos em Visual Basic

Referência

Operadores Bit Shift

Operadores de Atribuição

Operador <<= (Visual Basic)

Precedência de operadores no Visual Basic

Operadores listados por Funcionalidade