| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
tyloya Master

Registrado: 20 Ago 2002Mensajes: 175
|
Publicado: Vie 25 Oct, 2002 11:08 am Asunto: Función log10 |
|
|
Hola a todos y todas!!
Esto es una tontería, pero a pesar de buscar en la "ayuda" de Builder C++
no consigo que funcione.
¿Cómo sería el log en base 10 de un número real? Es que con la función log10 sale error
Lo que tngo que hacer es algo tan sencillo como esto, pero no sé dónde está el error
float Tfrmdct::SNR(TObject *Sender,int M,float MSE,long int org[64])
{
float reSNR=0;
for(int i=0;i<M;i++)
reSNR+=(org[i]*org[i]);
reSNR=var*reSNR;
reSNR=10*(log10((float)(reSNR/MSE)));
}
EL ERROR que me da es: "EInvalid Op_>Invalid floating point operation" |
|
| Volver arriba |
|
 |
WinMan Invitado
|
Publicado: Vie 25 Oct, 2002 8:17 pm Asunto: |
|
|
prueba con un cast a double.
reSNR=10*(log10((double)(reSNR/MSE)));
suerte.
WinMan |
|
| Volver arriba |
|
 |
Andrés Lt JG


Registrado: 30 Ago 2002Mensajes: 62Ubicación: Ramos Mejía
|
Publicado: Vie 25 Oct, 2002 8:53 pm Asunto: |
|
|
Qué tipo de variable recibe esa función? Float o double?
Por otro lado, aseguráte que MSE no valga 0. _________________ "Todo es posible si Ud. no sabe de qué está hablando" |
|
| Volver arriba |
|
 |
|