Compartilhar via


Operador Not (Visual Basic)

Realiza negação lógica em uma expressão Boolean, ou negação bit a bit em uma expressão numérica.

result = Not expression

Partes

  • result
    Obrigatório. Qualquer Boolean ou expressão numérica.

  • expression
    Obrigatório. Qualquer Boolean ou expressão numérica.

Comentários

Para expressões Boolean, a tabela seguinte ilustra como o result é determinado.

Se expression está

O valor do result é

True

False

False

True

Para expressões numéricas, o operador Not inverte os valores dos bits de qualquer expressão numérica e fixa o bit correspondente em result, de acordo com a tabela a seguir.

Se o bit em expression é

O bit em result será

1

0

0

1

Dica

Considerando que os operadores lógicos e bit a bit têm menor precedência do que outros operadores aritméticos e relacionais, quaisquer operações bit a bit devem ser cercada por parênteses para seja assegurada a acurácia da execução.

Tipos de dados

Para uma negação Boleana, o tipo de dado do resultado será Boolean. Para uma negação bit a bit, o tipo de dado do resultado é o mesmo da expression. Entretanto, se a expressão for Decimal, o resultado será Long.

Sobrecarga

O operador Notpode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefenir seu comportamento quando seu operando tem o tipo daquela classe ou estrutura. Se seu código usa esse operador em tal classe ou estrutura, esteja certo que entende seu comportamento redefinido. Para obter mais informações, consulte Procedimentos do operador (Visual Basic).

Exemplo

O exemplo a seguir usa o operador Not para realizar negação lógica em uma expressão Boolean. O resultado é um Boolean que representa o inverso do valor da expressão.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = Not (a > b)
secondCheck = Not (b > a)

O exemplo anterior gera resultados de False e True, respectivamente.

O exemplo a seguir usa o operador Not para realizar negação lógica dos bits individuais de uma expressão numérica. O bit no padrão de resultado é o inverso do bit correspondente no padrão de operando, incluindo o bit de sinal.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (Not a)
secondPattern = (Not b)
thirdPattern = (Not c)

O exemplo anterior gera os resultados -11,-9, e -7, respectivamente.

Consulte também

Referência

Operadores lógicos/bit a bit (Visual Basic)

Precedência do operador no Visual Basic

Operadores listados por funcionalidade (Visual Basic)

Conceitos

Operadores lógicos e bit a bit no Visual Basic