题
是否有可能表达的(数学)无穷大,正的或负的,在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