Título: (Consulta) Funcion Pow en C? Publicado por: palacio29 en 19 Julio 2016, 20:26 pm Hola
Queria saber porque el siguiente codigo printf ("%.2lf\n",pow(25.0,1/2)); En vez de dar el valor 5.00, da el valor 1.00 Muchas gracias Título: Re: (Consulta) Funcion Pow en C? Publicado por: crack81 en 19 Julio 2016, 21:22 pm El problema esa en la division ya que estas haciendo un division de numeros enteros por ende da como resultado un numero entero.
Ejemplo 1/2 en C/C++ da como resultado 0 ya que no esta especificando que es un numero real Para obtener el valor correcto hay que hacer lo siguiente 1.0/2.0 esto si nos devuelve 0.5 En especifico en tu problema al hacer pow(25.0,1/2); realmente esas haciendo 25.0^0=1 recordar que todo numero a la potencia 0 es 1 Por ultimo para que no tengas problemas similares cuando uses variables y tengas que manejar numeros decimales utilizas los tipos de datos float y double ya que hacer esto: Código
seguiera resultado un 0 ya que esta dividiendo numeros enteros para un correcto resultado cambia el tipo de dato a float o double Código
Tu programa: Código
Saludosss Título: Re: (Consulta) Funcion Pow en C? Publicado por: palacio29 en 19 Julio 2016, 21:46 pm El problema esa en la division ya que estas haciendo un division de numeros enteros por ende da como resultado un numero entero. Ejemplo 1/2 en C/C++ da como resultado 0 ya que no esta especificando que es un numero real Para obtener el valor correcto hay que hacer lo siguiente 1.0/2.0 esto si nos devuelve 0.5 En especifico en tu problema al hacer pow(25.0,1/2); realmente esas haciendo 25.0^0=1 recordar que todo numero a la potencia 0 es 1 Por ultimo para que no tengas problemas similares cuando uses variables y tengas que manejar numeros decimales utilizas los tipos de datos float y double ya que hacer esto: Código
seguiera resultado un 0 ya que esta dividiendo numeros enteros para un correcto resultado cambia el tipo de dato a float o double Código
Tu programa: Código
Saludosss Excelente muchas gracias!! |