java 最大储存32位数的条件下,计算时怎么判断一个有符号整数是否溢出

这道题在做的时候主要遇到的难点是如何判断整数溢出,后来参考了https://blog.csdn.net/qq_38634754/article/details/81428380之后,找到方法,
使用整数最大和最小的数除以10之后和做运算前的整数作比较就可以了。
代码如下
1 int target = 0; 2 while ((x - x%10) != 0) { 3 if ((x % 10 + target) > Integer.MAX_VALUE/10 || (x % 10 + target) < Integer.MIN_VALUE/10) { 4 return 0; 5 } 6 target = (x % 10 + target) * 10; 7 x = (x - x%10)/10; 8 } 9 target = target + x; 10 return target;

浙公网安备 33010602011771号