Cargando...

Biblioteca Math en C#

Aprende a usar la biblioteca Math en C#, incluyendo Pow, Sqrt, Round, Abs y otros métodos matemáticos con ejemplos prácticos.

La biblioteca Math de C#, proporcionada por la clase System.Math, contiene una amplia variedad de métodos y constantes integrados para realizar cálculos matemáticos en aplicaciones C#. Dado que la clase Math es estática, sus métodos pueden utilizarse directamente sin necesidad de crear una instancia. En este artículo, exploraremos los métodos más utilizados de System.Math en C# mediante ejemplos claros y prácticos.


Valor absoluto (Abs)

El método Math.Abs devuelve el valor absoluto de un número, eliminando cualquier signo negativo. Se utiliza habitualmente cuando la magnitud de un valor es importante independientemente de su signo.


int a = -15;
Console.WriteLine(Math.Abs(a)); // 15

Mínimo y máximo (Min, Max)

Los métodos Math.Min y Math.Max se utilizan para comparar dos valores numéricos y devolver el menor o el mayor. Son especialmente útiles para validaciones y comprobaciones de límites.


int x = 8, y = 20;
Console.WriteLine(Math.Min(x, y)); // 8
Console.WriteLine(Math.Max(x, y)); // 20

Raíz cuadrada (Sqrt)

El método Math.Sqrt calcula la raíz cuadrada de un número dado. Devuelve un valor de tipo double y se utiliza con frecuencia en cálculos geométricos y científicos.


double number = 81;
Console.WriteLine(Math.Sqrt(number)); // 9

Potencia (Pow)

El método Math.Pow eleva un número a la potencia de otro número. Se utiliza comúnmente en cálculos exponenciales y devuelve un valor de tipo double.


Console.WriteLine(Math.Pow(2, 3)); // 8

Redondeo (Round, Ceiling, Floor)

C# ofrece varios métodos de redondeo a través de la clase Math. Math.Round redondea al valor más cercano, Math.Ceiling redondea siempre hacia arriba y Math.Floor redondea siempre hacia abajo.


double d = 4.7;

Console.WriteLine(Math.Round(d));   // 5 (redondea al más cercano)
Console.WriteLine(Math.Ceiling(d)); // 5 (siempre hacia arriba)
Console.WriteLine(Math.Floor(d));   // 4 (siempre hacia abajo)

Truncado (Truncate)

El método Math.Truncate elimina la parte decimal de un número sin realizar ningún redondeo, conservando únicamente la parte entera.


double d = 4.9;
Console.WriteLine(Math.Truncate(d)); // 4

División con resto (DivRem)

El método Math.DivRem realiza una división entera y devuelve tanto el cociente como el resto en una sola operación. Resulta útil en cálculos donde el rendimiento es importante.


int quotient, remainder;
remainder = Math.DivRem(17, 5, out quotient);

Console.WriteLine("Cociente: " + quotient); // 3
Console.WriteLine("Resto: " + remainder);   // 2

Funciones trigonométricas (Sin, Cos, Tan)

Los métodos Math.Sin, Math.Cos y Math.Tan calculan valores trigonométricos utilizando radianes. Se emplean habitualmente en cálculos de geometría, gráficos y física.


double angle = Math.PI / 4; // 45 grados (en radianes)

Console.WriteLine(Math.Sin(angle)); // 0.707...
Console.WriteLine(Math.Cos(angle)); // 0.707...
Console.WriteLine(Math.Tan(angle)); // 1

Conversión de ángulos (Radianes/Grados, constante PI)

Los métodos trigonométricos en C# trabajan con radianes. Utilizando la constante Math.PI, es posible convertir fácilmente grados a radianes cuando sea necesario.


double degree = 180;
double radian = degree * (Math.PI / 180);

Console.WriteLine(radian); // 3.14159...

Logaritmo (Log, Log10)

El método Math.Log calcula el logaritmo natural (base e), mientras que Math.Log10 calcula el logaritmo en base 10. Estas funciones se utilizan con frecuencia en aplicaciones científicas y financieras.


Console.WriteLine(Math.Log(100));   // logaritmo natural (base e)
Console.WriteLine(Math.Log10(100)); // logaritmo en base 10

Valores máximo y mínimo de Double

Las constantes double.MaxValue y double.MinValue representan los valores máximo y mínimo que puede contener una variable de tipo double. Son útiles para comparaciones y para inicializar variables.


Console.WriteLine(double.MaxValue);
Console.WriteLine(double.MinValue);

Combinación de raíz cuadrada y potencia

Los métodos de la clase Math pueden combinarse para realizar cálculos más complejos. En este ejemplo, un número se eleva primero a una potencia y después se calcula su raíz cuadrada.


double number = 256;
double result = Math.Sqrt(Math.Pow(number, 2)); 
Console.WriteLine(result); // 256 (primero al cuadrado, luego raíz cuadrada)

Uso con valor absoluto

El método Math.Abs se utiliza a menudo en cálculos donde pueden producirse resultados negativos, como diferencias entre valores. Al aplicar Math.Abs, se garantiza que el resultado sea siempre positivo, lo que resulta útil en comparaciones y cálculos de distancia.


int diff = -50;
Console.WriteLine(Math.Abs(diff)); // 50

Determinación del signo (Sign)

El método Math.Sign devuelve -1, 0 o 1 según si un número es negativo, cero o positivo. Es útil cuando solo se necesita conocer la dirección de un valor.


Console.WriteLine(Math.Sign(-10)); // -1
Console.WriteLine(Math.Sign(0));   // 0
Console.WriteLine(Math.Sign(25));  // 1

Limitación de valores (Clamp)

El método Math.Clamp limita un valor a un rango especificado. Si el valor es menor que el mínimo, se devuelve el mínimo; si es mayor que el máximo, se devuelve el máximo.


int value = 120;
int result = Math.Clamp(value, 0, 100);
Console.WriteLine(result); // 100

Función exponencial (Exp)

El método Math.Exp calcula e elevado a la potencia indicada. Se utiliza habitualmente en cálculos científicos, matemáticos y estadísticos.


Console.WriteLine(Math.Exp(1)); // e ≈ 2.71828

TL;DR

  • Math.Abs: Devuelve el valor absoluto de un número.
  • Math.Sign: Indica si un número es negativo, cero o positivo.
  • Math.Min, Math.Max: Comparan dos números y devuelven el mínimo o el máximo.
  • Math.Clamp: Limita un valor a un rango definido.
  • Math.Sqrt, Math.Pow: Realizan operaciones de raíz cuadrada y potencia.
  • Math.Round, Math.Ceiling, Math.Floor, Math.Truncate: Operaciones de redondeo y truncado.
  • Math.Sin, Math.Cos, Math.Tan: Funciones trigonométricas (usan radianes).
  • Math.Log, Math.Log10, Math.Exp: Funciones logarítmicas y exponenciales.
  • Math.PI: Constante que representa el valor de Pi.

Artículos relacionados