Realizar operaciones matemáticas

Completados

En su núcleo, los equipos son calculadoras increíblemente rápidas. C# admite todas las operaciones matemáticas estándar que cabría esperar, lo que le permite realizar cálculos y guardar los resultados en variables.

Operadores aritméticos

C# usa símbolos estándar para matemáticas básicas:

Operator Action Example Resultado
+ Addition 10 + 3 13
- Subtraction 10 - 3 7
* Multiplication 10 * 3 30
/ Division 10 / 3 3 (división de enteros)
% Módulo (resto) 10 % 3 1

Puede intentar ejecutar este código usted mismo en el Editor de código de C#.

Comprender el módulo (%)

El operador % modulus devuelve lo que se deja tras la división. Resulta útil comprobar si un número se divide uniformemente:

Console.WriteLine(10 % 2);   // Output: 0 (10 is even)
Console.WriteLine(11 % 2);   // Output: 1 (11 is odd)

Orden de las operaciones

C# sigue el orden matemático estándar de las operaciones (PEMDAS): paréntesis, multiplicación/división y, a continuación, suma/resta. Use paréntesis para controlar el orden:

int standard = 2 + 3 * 4;      // Multiplication first: 14
int forced = (2 + 3) * 4;      // Parentheses first: 20

Operadores de asignación compuesta

Un patrón común es actualizar una variable mediante su propio valor, como agregar a una puntuación o restar de un saldo. C# tiene operadores abreviados para esto:

int score = 50;
score = score + 10;    // Standard way: score is 60
score += 10;           // Shorthand: score is 70

La misma abreviatura funciona para otras operaciones:

Operator Meaning Example Resultado (a partir de 10)
+= Añadir y asignar x += 5 15
-= Restar y asignar x -= 5 5
*= Multiplicar y asignar x *= 5 50
/= Dividir y asignar x /= 5 2

Operadores de incremento y decremento

Para agregar o restar 1, C# tiene operadores aún más cortos:++ y --:

int count = 5;
count++;                       // Same as count = count + 1
Console.WriteLine(count);      // Output: 6

count--;                       // Same as count = count - 1
Console.WriteLine(count);      // Output: 5

La posición es importante: incremento previo frente al incremento posterior

Los ++ operadores y -- se comportan de forma diferente en función de si aparecen antes o después de la variable:

  • Post-increment (value++): usa primero el valor actual y, a continuación, incrementa
  • Incremento previo (++value): primero se incrementa y, a continuación, se usa el nuevo valor.
int a = 5;
Console.WriteLine(a++);   // Output: 5 (uses old value, then increments)
Console.WriteLine(a);     // Output: 6 (a was incremented)

int b = 5;
Console.WriteLine(++b);   // Output: 6 (increments first, then uses new value)
Console.WriteLine(b);     // Output: 6

Las mismas reglas se aplican a -- (decremento).

División con enteros frente a decimales

Al dividir dos enteros, C# trunca (quita) la parte decimal:

int result = 7 / 2;
Console.WriteLine(result);     // Output: 3 (not 3.5)

Para mantener el decimal, al menos uno de los números debe ser un tipo decimal:

decimal result = 7m / 2m;
Console.WriteLine(result);     // Output: 3.5

Este es el motivo por el que elegir el tipo de datos adecuado es importante para los cálculos. En la sección siguiente, aprenderá a convertir entre tipos cuando necesite.