Expresso infinito matemático em C#
-
20-09-2019 - |
Pergunta
É possível expressar infinito (matemático), positivo ou negativo, em C#? Se sim, como?
Solução
Double.Positivoinfinity
Double.Negativeinfinity
float zero = 0;
float positive = 1 / zero;
Console.WriteLine(positive); // Outputs "Infinity"
float negative = -1 / zero;
Console.WriteLine(negative); // Outputs "-Infinity"
Outras dicas
Use o PositiveInfinity
e NegativeInfinity
Constantes:
double positive = double.PositiveInfinity;
double negative = double.NegativeInfinity;
public const double NegativeInfinity = -1.0 / 0.0;
public const double PositiveInfinity = 1.0 / 0.0;
Sim, verifique os valores das constantes dos tipos float
e double
, Curti:
float.PositiveInfinity
float.NegativeInfinity
Esses valores são compatíveis com o IEEE-754, portanto, você pode verificar como isso funciona exatamente, para que você esteja ciente, quando e como você pode obter esses valores enquanto faz cálculos. Mais informações aqui.
Olhe isso (basta retornar a infinidade positiva ∞)
Observações:
O valor dessa constante é o resultado de dividir um número positivo por zero. Essa constante é retornada quando o resultado de uma operação é maior que o MaxValue. Use o ispositivoInfinity para determinar se um valor avalia para a infinidade positiva.
Portanto, isso será igual ao infinito.
Console.WriteLine("PositiveInfinity plus 10.0 equals {0}.", (Double.PositiveInfinity + 10.0).ToString());
E agora para negativo é
Essa constante é retornada quando o resultado de uma operação é menor que minvalue.
Portanto, isso será igual ao infinito.
Console.WriteLine("10.0 minus NegativeInfinity equals {0}.", (10.0 - Double.NegativeInfinity).ToString());
referência: https://msdn.microsoft.com/en-us/library/system.double.negativeinfinity(v=vs.110).aspx