Compartir a través de


Not (Operador, Visual Basic)

Lleva a cabo o la negación lógica de una expresión de tipo Boolean o la negación bit a bit de una numérica.

result = Not expression

Elementos

  • result
    Obligatorio. Cualquier expresión numérica o de tipo Boolean.

  • expression
    Obligatorio. Cualquier expresión numérica o de tipo Boolean.

Comentarios

En la siguiente tabla se muestra cómo se determina result cuando las expresiones son de tipo Boolean:

Si el valor de expression es:

El valor de result es:

True

False

False

True

En las expresiones numéricas, el operador Not invierte los valores de bits de las expresiones numéricas y establece el bit correspondiente en result de acuerdo con la siguiente tabla:

Si el bit de expression es

El bit de result es

1

0

0

1

NotaNota

Dado que los operadores lógicos y los operadores bit a bit tienen una prioridad inferior a la de otros operadores aritméticos y relacionales, las operaciones bit a bit deben incluirse entre paréntesis para garantizar una correcta ejecución.

Tipos de datos

En una negación booleana, el tipo de datos del resultado es Boolean. En una negación bit a bit, el tipo de datos del resultado es el mismo que el de expression. Sin embargo, si la expresión es Decimal, el resultado es Long.

Sobrecarga

El operador Not se puede sobrecargar, lo que significa que una clase o una estructura puede definir de nuevo su comportamiento cuando su operando tiene el tipo de dicha clase o estructura. Si el código utiliza este operador en una clase o estructura de este tipo, asegúrese de conocer su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador (Visual Basic).

Ejemplo

En el ejemplo siguiente se utiliza el operador Not para llevar a cabo la negación lógica de una expresión de tipo Boolean. El resultado es un valor Boolean que representa el inverso del valor de la expresión.

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)

En el ejemplo anterior se generan los resultados False y True, respectivamente.

En el ejemplo siguiente se utiliza el operador Not para llevar a cabo la negación lógica de los bits individuales de una expresión numérica. El bit en el modelo resultante se establecerá en el valor inverso del bit correspondiente en el modelo del operando, incluido el bit correspondiente al signo.

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)

En el ejemplo anterior se generan los resultados –11, –9 y –7, respectivamente.

Vea también

Referencia

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

Prioridad de operador en Visual Basic

Operadores enumerados por funcionalidad (Visual Basic)

Conceptos

Operadores lógicos y bit a bit en Visual Basic