首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

static_cast<int>(double)在xp上和win7解决方案

2012-04-11 
static_castint(double)在xp上和win7xp:32位,用的c++6.0win7:32位,用的c++9.0double d -4295016848.0

static_cast<int>(double)在xp上和win7
xp:32位,用的c++6.0
win7:32位,用的c++9.0

double d = -4295016848.0;
int i = static_cast<int>(d)
xp:-49552;
win7:-2147483648
win7上的值是int的最小值,why?
even d = -2147483649.0
win7:INT_MIN
哪位知道原因吗,分多的是

[解决办法]
int i = static_cast<int>(d);
d已经超出int范围,强转结果是不确定.
6.0和9.0 结果不同也正常
[解决办法]
太拽了 穷人只求接分 我想说我如果出9.0不会说跟6.0区别 最多也只说8.0呃
既然标准都说未定义了 我想怎么取就怎么取了 写代码的人都不为程序负责 我还要负什么责

热点排行