int int型的数值范围是 -2147483648~2147483647
即32bit,范围总大小为2^32,那么如何通过判断一个整形是否(表示将会,作为整型它已经不能在int范围之外)overflow?
解决办法:首先应从增长方式来看,拟定相应的算法进行判断
我在问题中遇到的增长方式是'添位':预测添位后的高位并且对末位单独判断,间接地使“未来”的整数判断是否overflow?
if (res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && str.charAt(i++) - '0' > 7))