Función de potencia en C/C++

Dados dos números base y exponente, la función pow() encuentra x elevado a la potencia de y, es decir, x y . Básicamente, en C, el valor del exponente se calcula utilizando la función pow(). pow() es una función para obtener la potencia de un número, pero tenemos que usar #include<math.h> en c/c++ para usar esa función pow(). luego se pasan dos números. Ejemplo – pow(4 , 2); Entonces obtendremos el resultado como 4^2, que es 16. 
Ejemplo: 
 

Input: 2.0, 5.0
Output: 32
Explanation: 
pow(2.0, 5.0) executes 2.0 raised to
the power 5.0, which equals 32

Input: 5.0, 2.0
Output: 25
Explanation: 
pow(5.0, 2.0) executes 5.0 raised to
the power 2.0, which equals 25

Sintaxis: 
 

double pow(double x, double y);

Parámetros: El método toma dos argumentos: 
 

  • x : valor base de punto flotante
  • y : valor de potencia de coma flotante

Programa: 
 

C

// C program to illustrate
// power function
#include <math.h>
#include <stdio.h>
 
int main()
{
    double x = 6.1, y = 4.8;
 
    // Storing the answer in result.
    double result = pow(x, y);
    printf("%.2lf", result);
 
    return 0;
}

C++

// CPP program to illustrate
// power function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    double x = 6.1, y = 4.8;
 
    // Storing the answer in result.
    double result = pow(x, y);
 
    // printing the result upto 2
    // decimal place
    cout << fixed << setprecision(2) << result << endl;
 
    return 0;
}
Producción: 

5882.79

 

Funcionamiento de la función pow() con números enteros

La función pow() toma ‘doble’ como argumento y devuelve un valor ‘doble’. Esta función no siempre funciona para números enteros. Un ejemplo de ello es pow(5, 2). Cuando se asigna a un número entero, genera 24 en algunos compiladores y funciona bien para otros compiladores. Pero pow(5, 2) sin ninguna asignación a un número entero genera 25. 

Otra forma puede ser usar la función de ronda para asignarla a algún tipo de entero.
 

  • Esto se debe a que 5 2 (es decir, 25) podría almacenarse como 24,9999999 o 25,0000000001 porque el tipo de retorno es doble. Cuando se asigna a int, 25.0000000001 se convierte en 25 pero 24.9999999 dará como resultado 24.
  • Para superar esto y generar la respuesta precisa en formato entero, podemos agregar 1e-9 o 0.000000001 al resultado y convertirlo a int , por ejemplo (int)(pow(5, 2)+1e-9) dará la respuesta correcta ( 25, en el ejemplo anterior), independientemente del compilador.

C

// C program to illustrate
// working with integers in
// power function
#include <math.h>
#include <stdio.h>
 
int main()
{
    int a, b;
 
    // Using typecasting for
    // integer result
    a = (int)(pow(5, 2) + 1e-9);
    b = round(pow(5,2));
    printf("%d \n%d", a, b);
 
    return 0;
}

C++

// CPP program to illustrate
// working with integers in
// power function
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a, b;
 
    // Using typecasting for
    // integer result
    a = (int)(pow(5, 2) + 0.5);
    b = round(pow(5,2));
    cout << a << endl << b ;
 
    return 0;
}
Output: 
25
25

Este artículo es una contribución de Arushi Dhamija y Jatin Goyal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *