C#で(数学的な)無限大を正または負で表現することは可能ですか?もしそうなら、どのように?
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に準拠しているため、これが正確にどのように機能するかを確認して、計算中にこれらの値をいつどのように取得できるかを確認することをお勧めします。詳細 ここ 。
これを見てください(正の無限大∞を返すだけです)
備考 :
この定数の値は、正の数をゼロで割った結果です。 この定数は、操作の結果が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