~ es NOT bit a bit en código y NOT lógico en algunos libros
~ es el complemento bit a bit en C, Java, JavaScript y Python, donde ~1 es -2, y el NOT lógico en algunos libros de lógica. El analizador rechaza ~A y ofrece NOT, ! o ¬.
El diagnóstico registrado abajo dice: ~ no es un operador admitido; usa NOT, ! o ¬ para la negación. En la familia de C la tilde invierte todos los bits de un entero, así que ~1 es -2 y ~0 es -1, y los dos cuentan como verdadero; quien escribe if (~flag) ha escrito una condición que siempre es verdadera. En Python ~True es también -2, porque bool es una subclase de int.
En los textos de lógica la tilde es un signo de negación honesto, y por eso precisamente es peligrosa aquí: una fórmula copiada de un libro y una condición copiada de un programa usan el mismo carácter para operaciones distintas. Las grafías de la negación en el motor son la palabra NOT, el ! de programación, el ¬ matemático y la prima A' del álgebra, y las cuatro se imprimen unas a otras.
El mismo razonamiento rechaza ^ y los & y | simples: cada uno tiene un significado bit a bit en código que cambiaría en silencio la función de una regla. La página de símbolos enumera todas las grafías aceptadas y rechazadas con el mensaje del propio analizador.
Lo que dice el analizador
| Escribiste | Código | Por qué se rechaza | Corrección ofrecida |
|---|---|---|---|
| ~A | unsupported-operator | `~` is not a supported operator. Use `NOT`, `!`, or `¬` for negation. | Replace with NOT |
El error habitual
Traducir ~A de un libro como NOT A a mano y ~flag de C de la misma manera. Lo primero es correcto; lo segundo es un complemento bit a bit que es verdadero para todos los valores salvo -1, y el motor rechaza las dos grafías para que compruebes cuál tienes.
Preguntas
¿Por qué se acepta ! y ~ no?
! es el NOT lógico en todos los lenguajes de la familia de C, con el mismo significado que el NOT del motor. ~ es bit a bit allí y lógico en los libros, así que una lectura única sería incorrecta para una de sus fuentes.
¿Se acepta ¬?
Sí, como grafía matemática, junto con la prima A' de la notación de álgebra.
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 NOT (inversor): tabla de verdad, símbolo y el operador NOT
- Símbolos y notaciones de la lógica booleana: NOT, AND, OR en palabras, código y matemáticas
- Operadores lógicos en C: lógicos frente a bit a bit
- Operadores booleanos en Python: and, or, not, precedencia y errores comunes
- & y | simples son operaciones bit a bit en la mayoría de lenguajes
- ^ significa XOR en C, Java y Python, no AND ni potencia
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.