Выразить математическую бесконечность в C#
-
20-09-2019 - |
Вопрос
Можно ли выразить (математическую) бесконечность, положительную или отрицательную, на C#?Если да, то как?
Решение
двойной.PositiveInfinity
двойной.NegativeInfinity
float zero = 0;
float positive = 1 / zero;
Console.WriteLine(positive); // Outputs "Infinity"
float negative = -1 / zero;
Console.WriteLine(negative); // Outputs "-Infinity"
Другие советы
Использовать PositiveInfinity
и NegativeInfinity
константы:
double positive = double.PositiveInfinity;
double negative = double.NegativeInfinity;
public const double NegativeInfinity = -1.0 / 0.0;
public const double PositiveInfinity = 1.0 / 0.0;
Да, проверять значения констант типов float
и double
, нравиться:
float.PositiveInfinity
float.NegativeInfinity
Эти значения соответствуют стандарту IEEE-754, поэтому вы можете проверить, как именно это работает, чтобы вы знали, когда и как вы можете получить эти значения во время вычислений.Больше информации здесь.
посмотрите это (просто верните положительную бесконечность ∞)
Примечания:
Значение этой константы является результатом деления положительного числа на ноль. Эта константа возвращается, когда результат операции больше, чем MaxValue. Используйте iSpositiveInfinity, чтобы определить, оценивается ли значение с положительной бесконечностью.
Итак, это будет равно Бесконечности.
Console.WriteLine("PositiveInfinity plus 10.0 equals {0}.", (Double.PositiveInfinity + 10.0).ToString());
а теперь минус
Эта константа возвращается, когда результат операции меньше MinValue.
так что это будет равно Бесконечности.
Console.WriteLine("10.0 minus NegativeInfinity equals {0}.", (10.0 - Double.NegativeInfinity).ToString());
ссылка : https://msdn.microsoft.com/en-us/library/system.double.negativeinfinity(v=vs.110).aspx