相关疑难解决方法(0)

模数是否溢出?

我知道(INT_MIN/-1)溢出,但(INT_MIN%-1)没有溢出.至少这是两个编译器中发生的事情,一个是前c ++ 11(VC++ 2010),另一个是后c ++ 11 GCC 4.8.1

int x = INT_MIN;
cout << x / -1 << endl; 
cout << x % -1 << endl;
Run Code Online (Sandbox Code Playgroud)

得到:

-2147483648
0
Run Code Online (Sandbox Code Playgroud)

此行为标准是定义的还是实现定义的?还有其他任何情况下除法操作会溢出吗?并且是否存在模数运算符溢出的情况?

c++ integer-overflow visual-c++ c++11

7
推荐指数
1
解决办法
1896
查看次数

标签 统计

c++ ×1

c++11 ×1

integer-overflow ×1

visual-c++ ×1