【发布时间】:2016-10-05 15:11:25
【问题描述】:
这段代码:
double d = BitConverter.Int64BitsToDouble(long.MaxValue);
Console.WriteLine(d);
Console.WriteLine(double.IsNaN(d));
Console.WriteLine(BitConverter.DoubleToInt64Bits(d) == BitConverter.DoubleToInt64Bits(double.NaN));
说
NaN
True
False
这意味着 NaN 并不总是相同的双精度数,对吗?
【问题讨论】:
-
NaN 的一个有趣特性是它不等于自身。见stackoverflow.com/questions/1565164/…