Saltar al contenido
Guía de Varlig
Inicio de Varlig

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 ², ³ 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:

calc
12.50 + 4.30 da €16.80
3 * 4.50 da €13.50
1,000 * 1.05^3 da €1,157.63
6 times 7 da 42
100 minus 37.5 da 62.5

La yuxtaposición consiste en omitir el *, como en 2(3 + 4) o . 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:

  1. Paréntesis.
  2. Factoriales, como 5!.
  3. Potencias, que se resuelven de derecha a izquierda: 2^3^2 es 2^9, es decir, 512.
  4. El signo menos inicial, que se aplica después de la potencia: -2^2 es -4, mientras que (-2)^2 es 4.
  5. Multiplicación, división y mod, de izquierda a derecha.
  6. 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:

calc
85 - 12.50 * 2 da €60.00
(85 - 12.50 ) * 2 da €145.00
120 / 4 / 2 da €15.00

Si 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:

calc
(9 + 16) da 5

Restos

mod da lo que sobra después de dividir. Es útil para repartir cosas en grupos:

calc
huevos = 50
huevos mod 6 da 2
floor(huevos / 6) da 8

Cincuenta 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:

calc
5! da 120
corredores = 4
corredores! da 24
3! + 2 da 8
5!=4 da true

Un 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:

calc
presupuesto = 400
gastado = 365
gastado <= presupuesto da true
gastado == presupuesto da false
gastado != presupuesto da true
5 km == 5,000 m da true
90 min >= 1.5 hours da true
2 kg < 2,500 g da true

Las 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 < 10 no 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:
calc
fecha límite = 30 September 2026
reserva = 14 September 2026
fecha límite - reserva da 2 weeks 2 days
fecha límite - reserva >= 7 days da true

Operadores 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.

calc
distancia = 5 km
tiempo de carrera = 27 min
distancia >= 5 km && tiempo de carrera < 30 min da true
distancia >= 10 km || tiempo de carrera < 25 min da false
distancia >= 10 km or tiempo de carrera < 30 min da true

true y false pueden escribirse directamente y combinarse con && y ||:

calc
true || false da true
true && false da false

Algunas formas que podrías esperar no se admiten:

  • and y or solo funcionan entre comparaciones. true and false no funciona; escribe true && false.
  • No hay operador de negación: not true y !true no funcionan. Compara con false, como en (gastado > presupuesto) == false.
  • or no sirve de alternativa ante un error: 1/0 or 5 no 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:

calc
cesta = 34.50
if cesta >= 40 then 0 else 3.99 da €3.99

Condicionales 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.

calc
12 & 10 da 8
12 | 10 da 14
12 xor 10 da 6
12 AND 10 da 8
1 << 10 da 1,024
1024 >> 3 da 128

El 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:

calc
0o644 | 0o111 to octal da 0o755
color = 0xFF8800
(color >> 8) & 0xFF da 136

Los 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:

calc
# Presupuesto de septiembre
sueldo neto = 2,400
alquiler = 1,050
facturas = 230
compra = 4 * 65 da €260.00
sobrante = sueldo neto - alquiler - facturas - compra da €860.00
alquiler / sueldo neto as % da 43.75%
sobrante > 500 da true
sobrante > 500 && alquiler <= sueldo neto * 45% da true

compra 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.