Compartir a través de


Not (Operador, Visual Basic)

Actualización: noviembre 2007

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

Partes

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

  • expression
    Obligatoria. 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 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

Nota:

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.

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

Conceptos

Operadores lógicos y bit a bit en Visual Basic

Referencia

Operadores lógicos y operadores bit a bit

Prioridad de operador en Visual Basic

Operadores enumerados por funcionalidad