!= entre booleanos es XOR
Entre dos valores booleanos, != es el o exclusivo: VERDADERO exactamente cuando difieren. El analizador rechaza A != B y ofrece XOR, que es la misma función bajo su nombre lógico.
El diagnóstico registrado abajo: != no es un operador de expresión; usa XOR cuando los dos lados deben diferir. La tabla del XOR de dos entradas es la tabla de «distinto»: FALSO en las filas en que A y B coinciden, VERDADERO en las dos filas en que difieren. En Python, True != False es True; en Java a != b entre dos valores boolean es el o exclusivo; en JavaScript a !== b entre booleanos es lo mismo.
La razón para traducir en lugar de aceptar la grafía es la cadena. a != b != c en Python es una comparación encadenada, a != b and b != c, mientras que A XOR B XOR C es paridad; las dos son funciones distintas, y un analizador que aceptara != como XOR leería mal el Python. Escribir XOR hace explícita la lectura de paridad, y la página del error sobre el XOR de tres entradas muestra la fila en la que la paridad y «exactamente uno» difieren.
La misma familia de signos, =, == y !=, cubre la igualdad, el bicondicional y el o exclusivo, y cada uno tiene su propia página de error. La página de símbolos los registra todos con el mensaje del analizador.
Lo que dice el analizador
| Escribiste | Código | Por qué se rechaza | Corrección ofrecida |
|---|---|---|---|
| A != B | unsupported-operator | `!=` is not an expression operator. Use `XOR` when the two sides must differ. | Replace with XOR |
El error habitual
Escribir A != B para «A y B son condiciones distintas» en una regla, queriendo decir que las dos se aplican pero son diferentes. La fórmula dice que los dos valores difieren en tiempo de ejecución, que es el o exclusivo; la frase no hablaba de valores en absoluto.
Preguntas
¿A XOR B es lo mismo que NOT (A <-> B)?
Sí. El o exclusivo es la negación del bicondicional, y XNOR, el bicondicional, es la negación de XOR. El comprobador de equivalencia lo demuestra en cuatro filas.
¿Qué es != entre enteros?
La desigualdad ordinaria, que no tiene nada que ver con XOR; 3 != 5 es VERDADERO y 3 ^ 5 es 6. La traducción a XOR se aplica solo a dos operandos booleanos.
Relacionado
Herramientas
- Comprobador de equivalencia lógica: dos expresiones, veredicto exacto, contraejemplo
- Generador de tablas de verdad: cualquier expresión booleana, hasta 12 variables, con columnas intermedias
Véase también
- Compuerta XOR: tabla de verdad de 2, 3 y 4 entradas (paridad impar)
- Compuerta XNOR: tabla de verdad, símbolo y equivalencia con el bicondicional
- El doble igual (==) compara valores; para equivalencia lógica usa ↔
- «=» no es un operador booleano: usa ↔ o compara las fórmulas
- XOR de tres entradas es paridad impar, no «exactamente uno»
- Operadores booleanos en Python: and, or, not, precedencia y errores comunes
- Operadores lógicos en Java: &&, ||, ! frente a &, | y ^
Errores comunes
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.