带符号整型变量
加法
1 | int tadd_ok(int x,int y) { |
- 未溢出:1 + 1
- 正溢出:2147483647 + 1
- 负溢出:–2147483648 + (–1)
减法
1 | int tsub_ok(int x,int y) { |
- 未溢出:1 – 1
- 正溢出:2147483648 – (–1)
- 负溢出: –2147483648 – 1
乘法
1 | int tmultiply_ok(int x,int y) { |
- 未溢出:2 * 2
- 正溢出:2147483647 * 2
- 负溢出:2147483647 * (–2)
无符号整型变量
加法
1 | int uadd_ok(unsigned x,unsigned y) { |
- 未溢出:1 + 2
- 溢出:1 + 4294967295
减法
1 | int usub_ok(unsigned x,unsigned y) { |
- 未溢出:2 – 1
- 溢出:1 – 2
乘法
1 | int umultiply_ok(unsigned x,unsigned y) { |
- 未溢出:2 * 2
- 溢出:4294967295 * 2