Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Qualche modo ci dovrebbe essere scaricando i sorgenti delle librerie c che da qualche parte ci dovrebbero essere ma penso che il codice sia simile a questo:
Codice sorgente - presumibilmente C++
intpow(int x, int y)
{
int tmp;
if(y == 0)return1;
for(int i =0; i < y; i++)
{
tmp =(tmp * x);//oppure tmp *= x; che è la stessa cosa
}
return tmp;
}
Ultima modifica effettuata da edo42 il 04/09/2010 alle 7:21
antony non è strettamente necessario andare alla ricerca della funzione nella libreria (non so a cosa ti serva sapere una cosa del genere poichè non devi sviluppare intermamente una nuova libreria sulla matematica ) bensì è più comodo conoscere ed utilizzare il logaritmo delle potenze in genere (che è più completo a mio parere)
dubito che il codice di edo42 sia corretto, 1° perché tmp assume un valore a caso e 2° perché con un esponente che non sia un numero intero non funziona.
Alla fine ciò a cui volevo arrivare è come si calcola la potenza avendo come esponente un numero decimale
Alla fine ciò a cui volevo arrivare è come si calcola la potenza avendo come esponente un numero decimale
praticamente stai dicendo che vuoi fare un radicale....
esempio e' la stessa cosa scrivere:
1 --> Radice quadrata di 2
2 --> 2 elevato alla 1/2
3 --> 2 elevato alla 0.5
PS. edo94 la tua variabile temporanea (tmp) non cambia mai il proprio valore poichè se non la dichiari correttamente assegnandogli il valore 1 tutte le moltiplicazioni del ciclo risulteranno pari a 0
Codice sorgente - presumibilmente C/C++
int tmp = 1
Ultima modifica effettuata da The Newbie il 04/09/2010 alle 14:40