Pergunta

É possível expressar infinito (matemático), positivo ou negativo, em C#? Se sim, como?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top