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呃
既然标准都说未定义了 我想怎么取就怎么取了 写代码的人都不为程序负责 我还要负什么责