Saltar al contenido

Precedencia de operadores en lógica booleana: NOT, luego AND, luego XOR, luego OR

Sin paréntesis, NOT liga primero, luego AND, luego XOR, luego OR; la implicación y el bicondicional van al final. Las tres tablas de abajo muestran cómo agrupa el analizador A OR B AND C, NOT A AND B y A XOR B OR C, y cada página imprime una forma totalmente entre paréntesis para que puedas comprobarlo.

El orden es el que se usa en el álgebra de Boole y en la mayoría de los lenguajes de programación: NOT, luego AND, luego XOR, luego OR, con -> por debajo de OR y <-> por debajo de ->. Así, A OR B AND C es A OR (B AND C), NOT A AND B es (NOT A) AND B, y A XOR B OR C es (A XOR B) OR C. Las cadenas de un mismo operador no necesitan paréntesis (A AND B AND C es una compuerta), una cadena de implicaciones asocia a la derecha, y una cadena de bicondicionales se rechaza hasta que la pongas entre paréntesis.

El error común no es la regla sino la lectura. «Permitir si el usuario es administrador o es editor y el documento no está bloqueado» puede significar admin OR (editor AND unlocked) o (admin OR editor) AND unlocked, y las dos difieren en la fila admin = VERDADERO, unlocked = FALSO. El analizador aplica la regla; solo quien escribe sabe qué quería decir, y por eso cada página imprime la forma totalmente entre paréntesis junto a lo que escribiste, y por eso poner paréntesis a cualquier grupo mixto es de buena educación.

Los lenguajes difieren en los bordes. Python pone not por debajo de la comparación, así que not a == b es not (a == b); C y Java sitúan && por encima de || como aquí pero intercalan los operadores bit a bit &, ^ y | con su propio orden; SQL ordena NOT, AND, OR de la misma manera. La referencia de lenguajes enumera cada uno. En este lenguaje, las grafías &&, ∧, · y la palabra AND tienen la misma precedencia, igual que las grafías de cada uno de los demás operadores.

A OR B AND C, tal como se analiza: A OR (B AND C): A OR B AND C

Lectura totalmente agrupada: A OR (B AND C)

A OR B AND C
#ABCf
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROFALSO
2FALSOVERDADEROFALSOFALSO
3FALSOVERDADEROVERDADEROVERDADERO
4VERDADEROFALSOFALSOVERDADERO
5VERDADEROFALSOVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADERO
Principiantef es verdadero exactamente cuando se cumple al menos una de las condiciones siguientes (pueden cumplirse ambas):
1. A es verdadero
2. B y C son ambos verdaderos
En todos los demás casos, f es falso.
Sobre los operadores:
- OR (O) es inclusivo: es verdadero en cuanto al menos una parte es verdadera, también cuando lo son varias.
- AND (Y) solo es verdadero cuando todas sus partes son verdaderas.
Intermediof es verdadero exactamente cuando se cumple al menos una de las condiciones siguientes (pueden cumplirse ambas):
1. A es verdadero
2. B y C son ambos verdaderos
En todos los demás casos, f es falso.
Avanzadof es verdadero exactamente cuando se cumple al menos una de las condiciones siguientes (pueden cumplirse ambas) [disyunción inclusiva ∨]:
1. A es verdadero
2. B y C son ambos verdaderos [conjunción ∧]
En todos los demás casos, f es falso.
Notación formal: A ∨ B ∧ C
A OR B AND C A OR B AND C A B C f OR AND
A OR B AND C A OR B AND C A B C f OR AND

NOT A AND B, tal como se analiza: (NOT A) AND B: NOT A AND B

Lectura totalmente agrupada: NOT A AND B

NOT A AND B
#ABf
0FALSOFALSOFALSO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOFALSO
3VERDADEROVERDADEROFALSO
Principiantef es verdadero exactamente cuando A es falso y B es verdadero.
En todos los demás casos, f es falso.
Sobre los operadores:
- AND (Y) solo es verdadero cuando todas sus partes son verdaderas.
- NOT (NO) invierte un valor: lo verdadero pasa a ser falso y lo falso, verdadero.
Intermediof es verdadero exactamente cuando A es falso y B es verdadero.
En todos los demás casos, f es falso.
Avanzadof es verdadero exactamente cuando A es falso y B es verdadero [conjunción ∧].
En todos los demás casos, f es falso.
Notación formal: ¬A ∧ B
NOT A AND B NOT A AND B A B f AND NOT
NOT A AND B NOT A AND B A B f AND NOT

A XOR B OR C, tal como se analiza: (A XOR B) OR C: A XOR B OR C

Lectura totalmente agrupada: (A XOR B) OR C

A XOR B OR C
#ABCf
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROVERDADERO
2FALSOVERDADEROFALSOVERDADERO
3FALSOVERDADEROVERDADEROVERDADERO
4VERDADEROFALSOFALSOVERDADERO
5VERDADEROFALSOVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOFALSO
7VERDADEROVERDADEROVERDADEROVERDADERO
Principiantef es verdadero exactamente cuando se cumple al menos una de las condiciones siguientes (pueden cumplirse ambas):
1. exactamente uno entre A y B es verdadero (no ambos)
2. C es verdadero
En todos los demás casos, f es falso.
Sobre los operadores:
- OR (O) es inclusivo: es verdadero en cuanto al menos una parte es verdadera, también cuando lo son varias.
- XOR (O exclusivo) es verdadero cuando exactamente una de sus dos partes es verdadera.
Intermediof es verdadero exactamente cuando se cumple al menos una de las condiciones siguientes (pueden cumplirse ambas):
1. exactamente uno entre A y B es verdadero (no ambos)
2. C es verdadero
En todos los demás casos, f es falso.
Avanzadof es verdadero exactamente cuando se cumple al menos una de las condiciones siguientes (pueden cumplirse ambas) [disyunción inclusiva ∨]:
1. exactamente uno entre A y B es verdadero (no ambos) [disyunción exclusiva ⊕]
2. C es verdadero
En todos los demás casos, f es falso.
Notación formal: A ⊕ B ∨ C
A XOR B OR C A XOR B OR C A B C f OR XOR
A XOR B OR C A XOR B OR C A B C f OR XOR

El error habitual

Confiar en la agrupación por defecto de una expresión mixta dictada o copiada de un texto. A OR B AND C se lee como A OR (B AND C); si la frase quería decir «A o B, y C», la fórmula es incorrecta en la fila A = VERDADERO, C = FALSO, y solo los paréntesis lo arreglan.

Preguntas

¿El motor reagrupa alguna vez lo que escribí?

No. La fórmula impresa conserva tu agrupación; la forma totalmente entre paréntesis que se muestra en cada página añade paréntesis para hacer visible el análisis, y el comprobador de equivalencia te dirá si dos agrupaciones coinciden por casualidad.

¿Dónde encajan NAND, NOR y XNOR?

En ningún sitio del orden de precedencia, porque se escriben como funciones, NAND(A, B), que son átomos como una variable o un grupo entre paréntesis. Esa es una de las razones por las que el lenguaje las mantiene en forma de función.

Relacionado

Ejemplos resueltos que lo usan

Leyes

Herramientas

Véase también

Operadores y compuertas

Generado a partir del motor de Tangibool, semántica tangibool-semantics/1, motor 1.0.0, compilación . Cada tabla, mapa, simplificación y veredicto de estas páginas lo calculó el motor de Tangibool al compilar el sitio, y cada afirmación la volvió a comprobar el mismo verificador exacto que usa la app. Los límites se indican donde aplican. © 2026 Foreranger LTD.