if(-2147483648 > 0) ----> true
if( int (-2147483648) >0 ) ----> false
上面两句话为什么是不同的结果??
if(-2147483648 > 0) ----> true
if( int (-2147483648) >0 ) ----> false
上面两句话为什么是不同的结果??
编译器(VS2013)在看到int n = -2147483648;的时候,首先判断2147483648 > INT_MAX,知道int装不下,于是决定使用 unsigned int。然后发现前面还有个负号,于是对2147483648取反