Ist es möglich, (mathematische) Unendlichkeit, positiv oder negativ, in C# auszudrücken? Wenn das so ist, wie?Express mathematische Unendlichkeit in C#
Antwort
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"
public const double NegativeInfinity = -1.0/0.0;
public const double PositiveInfinity = 1.0/0.0;
Ja, überprüfen Sie die Werte der Konstanten von Typen float
und double
, wie:
float.PositiveInfinity
float.NegativeInfinity
Diese Werte entsprechen den IEEE-754, so könnte es sein Sie möchten wissen, wie das genau funktioniert, damit Sie wissen, wann und wie Sie diese Werte erhalten, während Sie Berechnungen durchführen. Mehr Infos here.
Verwenden Sie die PositiveInfinity
und NegativeInfinity
Konstanten:
double positive = double.PositiveInfinity;
double negative = double.NegativeInfinity;
dieser Look (nur Rück Positive-infinity ∞)
Bemerkungen:
Der Wert dieser Konstante ist das Ergebnis der Teilung eine positive Zahl von Null. Diese Konstante wird zurückgegeben, wenn das Ergebnis einer Operation größer als MaxValue ist. Verwenden Sie IsPositiveInfinity, um zu ermitteln, ob ein Wert positive Unendlichkeit ergibt.
Das entspricht also Infinity.
Console.WriteLine("PositiveInfinity plus 10.0 equals {0}.", (Double.PositiveInfinity + 10.0).ToString());
und jetzt negativ ist
Diese Konstante zurückgeführt wird, wenn das Ergebnis einer Operation weniger als MinValue ist.
so wird dies Infinity gleich.
Console.WriteLine("10.0 minus NegativeInfinity equals {0}.", (10.0 - Double.NegativeInfinity).ToString());
Referenz: https://msdn.microsoft.com/en-us/library/system.double.negativeinfinity(v=vs.110).aspx
, warum Sie nicht nur positive Sie schweben = 1/0 ;? Warum der zusätzliche Schritt – hhafez
Beachte, dass der Compiler die Division durch Null erkennt und die Kompilierung stoppt. –
@Jaimal: Das liegt daran, dass der Compiler '1/0' als Integer Division behandelt. Die Verwendung von '1/0f' oder' 1/0.0' würde funktionieren. – LukeH