首页 > 技术资料 > .NET > 数值类型和无穷大
2014
07-18

数值类型和无穷大

C#语言中的数字,还有另外两个特性是我们必须了解的。例如,任何数除以0所得的结果是无穷大,不在int,long 和decimal类型的范围内。所以,计算5 / 0之类的表达式会出错。但是,double和float类型实际上有一个可以表示无穷大的特殊值,因此表达式5.0 / 0.0的值是Infinity(无穷大)。这个规则的唯一例外是表达式0.0 / 0.0的值。通常,如果0除以任何数,结果都为0,但如果用任何数除以0,结果就为无穷大。表达式0.0 / 0.0会陷入一种自相矛盾的境地——值既为0,又无穷大。针对这种情况,C#语言提供了另一个值NaN,即“not a number”。所以,如果计算表达式0.0 / 0.0,则结果为NaN。NaN和Infinity可以在表达式中使用。如果计算10 + NaN,结果将为NaN。如果计算10 + Infinity,结果将为Infinity。这个规则的唯一例外是表达式Infinity * 0,其结果为0,而表达式NaN * 0的结果为NaN。

最后编辑:
作者:M.Poison
M.Poison
这个作者貌似有点懒,什么都没有留下。