для моей домашней работы мне нужно написать код для вычисления 2 степени n (2 ^ n), в то время как мне удалось заставить его работать для n от 0 до 30, для 31 я получаю -2147483648 и для любого n выше 31 (33, 35,40 ..) я просто получаю 0 .. как я могу позаботиться об этом? мне нужно использовать простые команды, я не могу использовать математический Pow
открытый класс Task3a {
public static void main(String[] args) {
//---------------write your code BELOW this line only!--------------
Scanner myScanner = new Scanner (System.in);
int n = myScanner.nextInt();
int expo = n ;
int base = 2;
if (n==0){
System.out.println("1");
}
if (n==1){
System.out.println(base);
}
else{
while(expo>1){
base = base * 2 ;
expo = expo - 1;
}
System.out.println(base);
}
//---------------write your code ABOVE this line only!--------------
}
}
, как я сказал, например, для 2 ^ 35 я получаю0