質問
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
所属していません StackOverflow