整数溢出
int类型一般占4个字节,故取值范围 -2^31 ~ 2^31-1,对于无符号另当别论,我们的讨论建立在以补码形式存储的带符号整数。
-上溢
存储数值超过了整形数值2^31-1,导致数据向上溢出
-下溢
整数数值小于了-2^31,导致数值向下溢出
判断方法(以num1+num2为例)
上溢:
if(num1>Integer.MAX_VALUE-num2)
System.out.println("num1+num2上溢出");
if(num1<Integer.MIN_VALUE-num2)
System.out.println("num1+num2下溢出");
判断num1,num2乘积和商值是否已出的的方法类似