Ответ 1
double.PositiveInfinity
double.NegativeInfinity
float zero = 0;
float positive = 1 / zero;
Console.WriteLine(positive); // Outputs "Infinity"
float negative = -1 / zero;
Console.WriteLine(negative); // Outputs "-Infinity"
Можно ли выразить (математическую) бесконечность, положительную или отрицательную, в С#? Если да, то как?
double.PositiveInfinity
double.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, поэтому вы можете проверить, как это работает в точности, поэтому вы будете знать, когда и как вы можете получить эти значения при выполнении вычислений. Подробнее здесь.
Посмотрите это (просто верните Positive-infinity ∞)
Примечания:
Значение этой константы является результатом деления положительного числа на ноль. Эта константа возвращается, когда результатом операции является больше 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