En C#, Math.Log() es un método de clase Math. Se utiliza para devolver el logaritmo de un número especificado. Este método se puede sobrecargar cambiando el número de argumentos pasados. Hay un total de 2 métodos en la lista de sobrecarga del método Math.Log() de la siguiente manera:
- Método Math.Log(Doble)
- Método Math.Log(Doble, Doble)
Método Math.Log(Doble)
Este método se utiliza para devolver el logaritmo natural (base e) de un número específico.
Sintaxis:
public static double Log(double val)
Parámetro:
val: Es el número especificado cuyo logaritmo natural (base e) se va a calcular y su tipo es System.Double .
Valor devuelto: Devuelve el logaritmo natural de val y su tipo es System.Double .
Nota: El parámetro val siempre se especifica como un número de base 10. El valor devuelto depende del argumento pasado. A continuación se muestran algunos casos:
- Si el argumento es positivo , el método devolverá el logaritmo natural o log e (val) .
- Si el argumento es cero , entonces el resultado es NegativeInfinity .
- Si el argumento es negativo (menor que cero) o igual a NaN , entonces el resultado es NaN .
- Si el argumento es PositiveInfinity , el resultado es PositiveInfinity .
- Si el argumento es NegativeInfinity , el resultado es NaN .
Ejemplo:
// C# program to demonstrate working // of Math.Log(Double) method using System; class Geeks { // Main Method public static void Main(String[] args) { // double values whose logarithm // to be calculated double a = 4.55; double b = 0; double c = -2.45; double nan = Double.NaN; double positiveInfinity = Double.PositiveInfinity; double negativeInfinity = Double.NegativeInfinity; // Input is positive number so output // will be logarithm of number Console.WriteLine(Math.Log(a)); // positive zero as argument, so output // will be -Infinity Console.WriteLine(Math.Log(b)); // Input is negative number so output // will be NaN Console.WriteLine(Math.Log(c)); // Input is NaN so output // will be NaN Console.WriteLine(Math.Log(nan)); // Input is PositiveInfinity so output // will be Infinity Console.WriteLine(Math.Log(positiveInfinity)); // Input is NegativeInfinity so output // will be NaN Console.WriteLine(Math.Log(negativeInfinity)); } }
1.51512723296286 -Infinity NaN NaN Infinity NaN
Método Math.Log(Doble, Doble)
Este método se utiliza para devolver el logaritmo de un número específico en una base específica.
Sintaxis:
public static double Log(double val, double base)
Parámetro:
val: Es el número especificado cuyo logaritmo se va a calcular y su tipo es System.Double .
base: Es la base del logaritmo de tipo System.Double .
Valor de retorno: Devuelve el logaritmo de val y su tipo es System.Double .
Nota: El valor devuelto siempre depende del argumento pasado. La siguiente tabla muestra los diferentes casos:
valor | base | Valor devuelto |
---|---|---|
valor > 0 | (0 < Base < 1) o (Base > 1) | base logarítmica (val) |
valor < 0 | algún valor | Yaya |
algún valor | base < 0 | Yaya |
valor != 1 | base = 0 | Yaya |
valor != 1 | base = + ve Infinito | Yaya |
valor = NaN | algún valor | Yaya |
algún valor | base = NaN | Yaya |
algún valor | base = 1 | Yaya |
valor = 0 | (0 < base < 1) | +ve Infinito |
valor = 0 | base > 1 | -ve Infinito |
val = +ve Infinito | (0 < base < 1) | -ve Infinito |
val = +ve Infinito | base > 1 | +ve Infinito |
valor = 1 | base = 0 | 0 |
valor = 1 | base = + ve Infinito | 0 |
Ejemplo:
// C# program to demonstrate working // of Math.Log(Double, Double) method using System; class Geeks { // Main Method public static void Main(String[] args) { // Here val = 1.3 and base is 0.3 then // output will be logarithm of given value Console.WriteLine(Math.Log(1.3, 0.3)); // Here val is 0.5 and base > 1 then output // will be -0.5 Console.WriteLine(Math.Log(0.5, 4)); // Here val is 0.7 and base = 1 then output // will be NaN Console.WriteLine(Math.Log(0.7, 1)); // Here val is 0.7 and base is NaN then output // will be NaN Console.WriteLine(Math.Log(0.7, Double.NaN)); } }
-0.217915440884381 -0.5 NaN NaN
Referencias:
- https://msdn.microsoft.com/en-us/library/x80ywz41(v=vs.110).aspx
- https://msdn.microsoft.com/en-us/library/hd50b6h5(v=vs.110).aspx
Publicación traducida automáticamente
Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA