Salve.
Sto provando a fare girare questo codice che scrive le potenze di un numero intero, ma i risultati non sono corretti.
codice:
public class TestNumeri1 {
public static void main(String[] args) {
int numeroBase;
numeroBase = 1411;
String spazio = " ";
int quadrato, cubo, quartaPot, quintaPot, sestaPot;
double sestaPotDouble;
quadrato = numeroBase * numeroBase;
cubo = quadrato * numeroBase;
quartaPot = cubo * numeroBase;
quintaPot = quartaPot * numeroBase;
sestaPot = quintaPot * numeroBase;
sestaPotDouble = Math.pow(numeroBase, 6);
System.out.println();
System.out.println(spazio + "numero base: " + numeroBase);
System.out.println(spazio + "quadrato: " + quadrato);
System.out.println(spazio + "cubo: " + cubo);
System.out.println(spazio + "quarta potenza: " + quartaPot);
System.out.println(spazio + "quinta potenza: " + quintaPot);
System.out.println(spazio + "sesta potenza: " + sestaPot);
System.out.println();
System.out.println("Altro modo per calcolare la sesta potenza: "
+ "usando Math.pow(): " +
+ sestaPotDouble);
System.out.println();
}
}
Perché le potenze dalla terza in poi vengono negative e numericamente sbagliate?
Cambiando numeroBase in 3, i risultati sono corretti, già mettendo 10 sballano dalla quinta potenza... Come se ci fosse un dominio di valori oltre il quale i risultati non sono attendibili...