Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    16

    [C] Come funziona il pow?

    Salve a tutti. Scrivo perché volevo riuscire a scrivere da solo la funzione pow della math.h che preso un numero double lo elevi ad un altro numero double. Inizialmente avevo pensato di utilizzare una proprietà dei logaritmi a^b = e^(b*ln(a))
    codice:
    double Elevamento_a_Potenza(double numero, double grado){  
         return exp(log(numero)*grado);
    }
    Però il risultato non è perfetto (per esempio se faccio 2^4 ottengo 15.9999999999999982236432 invece di 16.0000000000000000000000) e per elevamenti più complessi l'errore aumenta notevolmente
    Ho cercato il codice direttamente dalla libreria ma, per mia incompetenza, non sono riuscito a trovare niente di chiaro.
    Quello che vorrei sapere è :
    1. In termini di prestazioni è più veloce la mia funzione o pow()?
    2. Qualche anima generosa potrebbe spiegarmi il codice del pow della math.h o almeno su che teorema si basa ?

    Grazie infinite per la pazienza

  2. #2
    La funzione pow ha la seguente sintassi:

    pow(x,y)...cioè eleva la variabile x alla y-esima potenza! Esempio x=4 e y=2 allora pow(x,2)=16.00 (trattandosi di un double) ! A livello di prestazione la pow é molto meglio della tua funzione!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.