C#中,double型的65536和65535,转换成int型后,都分别变成了0,-1。

请高手说下,越详细越好。因为我真的想了很久也没弄明白!
代码如下:
#include<stdio.h>
main()
{
int a,b;
double m=65536;
double n=65535;
printf("\n%d,%d",(int)m,(int)n)
}

我在vs.net 2010中测试,没有你说的那种情况。不知是不是vs.net的bug,你打vs.net2010 sp1补丁包了吗?
测试代码:
double x = 65536;
double y = 65535;
int w = (int)x;
int s = (int)y;
结果:
w=65536
s=65535

你能将你的代码贴上来吗?
温馨提示:答案为网友推荐,仅供参考
相似回答