Operadores, comparaciones y condicionales
Esta página trata los símbolos y las palabras que combinan valores: la aritmética, el orden en
que se resuelve, las comparaciones que responden true (verdadero) o false (falso), y los
operadores lógicos y bit a bit. Consúltala cuando una línea dé un número distinto del que
esperabas, o cuando quieras que una nota compruebe algo por ti, como si sigues dentro del
presupuesto.
Aritmética
| Operación | Formas de escribirla | Ejemplo | Resultado |
|---|---|---|---|
| Suma | +, plus |
12.50 € + 4.30 € |
€16.80 |
| Resta | -, −, minus |
20 € - 4.50 € |
€15.50 |
| Multiplicación | *, ×, times, multiplied by, yuxtaposición |
3 × 4.50 €, 2(3 + 4) |
€13.50, 14 |
| División | /, ÷, divided by |
60 € / 4 |
€15.00 |
| Potencia | ^, **, to the power of, raised to, exponent |
2 ** 3, 2 raised to 10 |
8, 1,024 |
| Resto | mod, % (entre dos números) |
50 mod 6, 50 % 6 |
2 |
| Raíz cuadrada | √, sqrt(...), square root of |
√144 |
12 |
| Cuadrado / cubo | ², ³ |
3³ |
27 |
| Factorial | !, factorial(...) |
5!, factorial(5) |
120 |
La aritmética funciona con números sin más, con dinero y con cantidades con unidades, y el resultado conserva la divisa o la unidad:
12.50 € + 4.30 € da €16.803 * 4.50 € da €13.501,000 € * 1.05^3 da €1,157.636 times 7 da 42100 minus 37.5 da 62.5La yuxtaposición consiste en omitir el *, como en 2(3 + 4) o 2π.
Multiplicación implícita explica cuándo funciona y cuándo
no.
Orden de las operaciones
Los cálculos siguen el orden de siempre, el que se aprende en el colegio:
- Paréntesis.
- Factoriales, como
5!. - Potencias, que se resuelven de derecha a izquierda:
2^3^2es2^9, es decir, 512. - El signo menos inicial, que se aplica después de la potencia:
-2^2es -4, mientras que(-2)^2es 4. - Multiplicación, división y
mod, de izquierda a derecha. - Suma y resta, de izquierda a derecha.
Omitir el * no cambia este orden, así que 2x^2 eleva x al cuadrado antes de duplicarlo,
igual que en una fórmula de un libro de texto.
Eso significa que una multiplicación se hace antes que la suma que tiene al lado, algo que confunde a más de uno al sumar una cuenta:
85 € - 12.50 € * 2 da €60.00(85 € - 12.50 €) * 2 da €145.00120 € / 4 / 2 da €15.00Si tienes dudas, añade paréntesis. Nunca sobran, y hacen que la nota se lea mejor más adelante.
El signo de raíz cuadrada se aplica al valor que va justo después, así que √9 + 16 es 19.
Pon toda la expresión entre paréntesis para sacar la raíz de una suma:
√(9 + 16) da 5Restos
mod da lo que sobra después de dividir. Es útil para repartir cosas en grupos:
huevos = 50huevos mod 6 da 2floor(huevos / 6) da 8Cincuenta huevos llenan ocho hueveras de seis, y sobran dos.
% entre dos números también es el resto, aunque no haya espacio antes del segundo número:
50 % 6 y 50% 6 dan 2. Un % sin nada detrás forma un porcentaje (50%), que se explica
en Porcentajes.
Factoriales
Pon ! justo después de un número, un nombre o un paréntesis de cierre para obtener su
factorial:
5! da 120corredores = 4corredores! da 243! + 2 da 85!=4 da trueUn factorial se resuelve antes que la potencia que tiene al lado, así que 2^3! es 2⁶, es
decir, 64. ! seguido de = sigue siendo “distinto de”, como muestra la última línea.
factorial(5) da el mismo resultado que 5!.
Comparación
==, !=, <, <=, > y >= comparan dos valores y responden true o false. Funcionan
con números sin más, con importes en la misma divisa y con cantidades que miden lo mismo,
aunque estén en unidades distintas:
presupuesto = 400 €gastado = 365 €gastado <= presupuesto da truegastado == presupuesto da falsegastado != presupuesto da true5 km == 5,000 m da true90 min >= 1.5 hours da true2 kg < 2,500 g da trueLas unidades se convierten antes de comparar, así que 1 mile > 1.5 km es true. Comparar
cosas que miden magnitudes distintas, como kilogramos y metros, da el error
incompatible units.
Lo que no hacen las comparaciones
- Encadenarse.
5 < x < 10no se admite. Combina dos comparaciones:5 < x && x < 10. - Símbolos Unicode.
≠,≤y≥no se reconocen. Usa!=,<=y>=. - Fechas. No puedes comparar dos fechas con
<o>. Réstalas y compara la diferencia con una duración:
fecha límite = 30 September 2026reserva = 14 September 2026fecha límite - reserva da 2 weeks 2 daysfecha límite - reserva >= 7 days da trueOperadores lógicos
Une comparaciones con && (las dos deben cumplirse) o || (al menos una debe cumplirse). Las
palabras and y or funcionan igual entre dos comparaciones.
distancia = 5 kmtiempo de carrera = 27 mindistancia >= 5 km && tiempo de carrera < 30 min da truedistancia >= 10 km || tiempo de carrera < 25 min da falsedistancia >= 10 km or tiempo de carrera < 30 min da truetrue y false pueden escribirse directamente y combinarse con && y ||:
true || false da truetrue && false da falseAlgunas formas que podrías esperar no se admiten:
andyorsolo funcionan entre comparaciones.true and falseno funciona; escribetrue && false.- No hay operador de negación:
not truey!trueno funcionan. Compara confalse, como en(gastado > presupuesto) == false. orno sirve de alternativa ante un error:1/0 or 5no da 5.
Usar comparaciones en condicionales
Una comparación resulta más útil dentro de if … then … else …, que elige un valor según la
respuesta:
cesta = 34.50 €if cesta >= 40 € then 0 € else 3.99 € da €3.99Condicionales explica la sintaxis completa, incluidos
else if, if y unless al final de la línea, y las asignaciones dentro de una rama.
Operadores bit a bit
Los números enteros admiten los operadores bit a bit & (y), | (o), xor, <<
(desplazamiento a la izquierda) y >> (desplazamiento a la derecha). También funcionan las
palabras en mayúsculas AND, OR y XOR. Sirven sobre todo para tareas de programación, como
valores de color y permisos de archivos.
12 & 10 da 812 | 10 da 1412 xor 10 da 612 AND 10 da 81 << 10 da 1,0241024 >> 3 da 128El resultado se muestra como un número normal. Añade to binary, in hex o to octal para
verlo en la base con la que trabajas:
0o644 | 0o111 to octal da 0o755color = 0xFF8800(color >> 8) & 0xFF da 136Los desplazamientos se resuelven antes que &, | y xor, pero los paréntesis hacen que una
línea como la del ejemplo del color sea mucho más fácil de seguir.
Todo junto
Un control del presupuesto mensual que combina aritmética, comparaciones y lógica:
# Presupuesto de septiembresueldo neto = 2,400 €alquiler = 1,050 €facturas = 230 €compra = 4 * 65 € da €260.00sobrante = sueldo neto - alquiler - facturas - compra da €860.00alquiler / sueldo neto as % da 43.75%sobrante > 500 € da truesobrante > 500 € && alquiler <= sueldo neto * 45% da truecompra multiplica antes de que se sume nada, y sobrante resta de izquierda a derecha. Las
dos últimas líneas convierten la nota en una comprobación: la respuesta sigue siendo true
mientras queden más de 500 € y el alquiler no supere el 45% del sueldo neto, y cambia a
false en cuanto deja de cumplirse cualquiera de las dos condiciones.