+ Responder ao Tópico



  1. #1

    Padrão log em C++ utilzando dev não esta dando resultado correto

    Boa tarde pessoal. Estou fazendo um programinha em C++ para calcular um log, porém o resultado não esta batendo. Aqui vai o código:

    #include <cstdlib>
    #include <iostream>
    #include <math.h>
    using namespace std;
    int main(int argc, char *argv[])
    {
    double va1, va2;
    va1=log(6116);
    va2=(10 * va1);
    printf ("%lf \n\n", va2);
    system("PAUSE");
    return EXIT_SUCCESS;
    }


    o resultado que deveria dar, segundo a calculadora hp50g, deveria ser: 37.86, porém o resultado que está sendo plotado é: 87.18.

    Alguém poderia ajudar? Desde já agradeço.

  2. #2
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.985
    Posts de Blog
    5

    Padrão Re: log em C++ utilzando dev não esta dando resultado correto

    Humm, primeiro se for C++ mesmo, tira esse math.h e esse printf.
    Segundo, o resultado está certo. log() é o logaritmo natural, acho que você queria era log10().

    Código c++:
    #include <iostream>
    #include <cmath>
     
    int main() {
        double log_n = 0.0;
        double log_10 = 0.0;
        // log() equivale à logaritmo natural (base euler), função ln nas calculadoras
        // log10() é o logaritmo de base 10
        const int num = 6116;
        log_n = log(num);
        log_10 = log10(num);
        std::cout << "Número: " << num << std::endl;
        std::cout << "(Logaritmo natural) * 10: " << log_n * 10 << std::endl;
        std::cout << "(Logaritmo base 10) * 10: " << log_10 * 10 << std::endl;
        std::cin.get();
        return 0;
    }
    Resultado:
    Ideone.com | Online C++ Compiler & Debugging Tool

    http://www.cplusplus.com/reference/clibrary/cmath/log/
    http://www.cplusplus.com/reference/c...y/cmath/log10/
    Última edição por osmano807; 14-06-2011 às 21:14.