質問

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"

他のヒント

PositiveInfinityNegativeInfinity定数を使用します:

double positive = double.PositiveInfinity;
double negative = double.NegativeInfinity;
public const double NegativeInfinity = -1.0 / 0.0;
public const double PositiveInfinity = 1.0 / 0.0;

はい、のような種類のfloatdouble、定数の値をチェックします。
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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top