salve
siccome ho scoperto che alcuni compilatori GCC , se si include math.h a inizio file, funzionano mentre altri no e siccome su quelli che funzionano ( ad esempio la versione 4 ) se metto -lm per forzare l' inclusione della libreria mi danno errore, ho deciso di evitare di perdere tempo con il GCC e di farmi a manina la funzione per elevare a potenza.
Quella che mi serve di fatto e' una potenza di interi, ovvero base intera unsigned e potenza intera unsigned, che ovviamente tornera' sempre e solo interi unsigned ... mi dite cosa ne pensate ?
grazie
codice:#include <stdio.h> /********************************/ /* Dichiarazione delle funzioni */ /********************************/ unsigned int potenza_interi( unsigned int numero, unsigned int potenza ); /* funzione per elevare a potenza di tipo intero positivo o uguale a zero un numero anch' esso di tipo intero e positivo o uguale a zero */ /******************************/ /* Definizione delle funzioni */ /******************************/ /* Definizione della funzione main */ int main( int argc, char *argv[] ) { printf("Risultato: %i", potenza_interi(4, 2)); /* fine funzione main */ return 0; } /* Definizione della funzione potenza_interi */ unsigned int potenza_interi( unsigned int numero, /* Lavoro: numero da elevare a potenza */ unsigned int potenza /* Lavoro: valore della potenza */ ) { /* dichiarazione delle variabili locali alla funzione */ unsigned int elevato = 1; /* Lavoro: numero da restituire dopo l' elevazione a potenza */ /* ciclo di controllo per moltiplicare N(potenza) volte il numero solo se N e' diverso e maggiore di zero */ while(potenza != 0 && potenza-- > 0) { elevato *= numero; } /* fine funzione potenza_interi ritorno l' elevazione a potenza */ return elevato; }



Rispondi quotando

Forse è il modo più naturale per definire le potenze...