【发布时间】:2011-09-20 08:06:43
【问题描述】:
static void Main(string[] args)
{
double y = 23.12F;
Console.WriteLine(y);
Console.Read();
}
为什么 y 的值显示 23.1200008392334 而不是 23.12
static void Main(string[] args)
{
int i = -9; uint j = (uint)i;
Console.WriteLine(j);
Console.Read();
}
j 如何显示值 4294967287
【问题讨论】:
-
你的第二个例子看起来很奇怪。您正在将负数转换为不支持负数的类型
-
-9 的two's complement 是:1111 1111 1111 1111 1111 1111 1111 0111。把这个数字带入一个可以将二进制转换为十进制的计算器,你得到 4294967287 ;p
标签: c# floating-point double