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.
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/