web-dev-qa-db-ja.com

C#で数学的な無限大を表現する

C#で(数学的な)無限大を正または負で表現することは可能ですか?もしそうなら、どのように?

25
Alex

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"
32
Jaimal Chohan

PositiveInfinityおよびNegativeInfinity定数を使用します。

double positive = double.PositiveInfinity;
double negative = double.NegativeInfinity;
33
Jeff L
public const double NegativeInfinity = -1.0 / 0.0;
public const double PositiveInfinity = 1.0 / 0.0;
5
ChaosPandion

はい、次のように、タイプfloatおよびdoubleの定数値を確認してください。
float.PositiveInfinity
float.NegativeInfinity
これらの値はIEEE-754に準拠しているため、これが正確にどのように機能するかを確認して、計算中にこれらの値をいつどのように取得できるかを確認することをお勧めします。詳細 ここ

5
Marcin Deptuła

これを見てください(正の無限大∞を返すだけです)

備考 :

この定数の値は、正の数をゼロで割った結果です。 この定数は、操作の結果が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

0
Amin Saadati