while循环出现错误,求解答

问题遇到的现象和发生背景

解决一个简单的问题

img


在编写一个错误的逻辑算法后,发现运行结果为 -1

问题相关代码,请勿粘贴截图
    int i = 1;
    int j = 1;
    while(i <= 100){
        j = j * 2 + 1;
        i++;
    }
    System.out.println(j);
运行结果及报错内容

运行结果
-1
没有报错

我想要达到的结果

(知道这么解决这个问题是错的,正确的方法已经知道了)
希望解答一下,这段代码为啥运行出来是 -1

j的值已经超出int的范围,最大是的2的23次方,你这都2的100次方了,