📜  C / C++中的幂函数

📅  最后修改于: 2021-05-26 00:09:19             🧑  作者: Mango

给定两个基数和指数,pow()函数x提升为y的幂,即x y 。基本上在C中,指数值是使用pow()函数计算的。
例子:

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

句法:

double pow(double x, double y);

参数:该方法带有两个参数:

  • x:浮点基值
  • y:浮点功率值

程序:

C
// C program to illustrate
// power function
#include 
#include 
  
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 
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;
}


C
// C program to illustrate
// working with integers in
// power function
#include 
#include 
  
int main()
{
    int a;
  
    // Using typecasting for
    // integer result
    a = (int)(pow(5, 2) + 0.5);
    printf("%d", a);
  
    return 0;
}


C++
// CPP program to illustrate
// working with integers in
// power function
#include 
using namespace std;
int main()
{
    int a;
  
    // Using typecasting for
    // integer result
    a = (int)(pow(5, 2) + 0.5);
    cout << a;
  
    return 0;
}


输出:
5882.79

pow()函数与整数一起使用

pow()函数采用“ double”作为参数,并返回“ double”值。此函数并不总是适用于整数。 pow(5,2)就是这样一个例子。当分配给整数时,它在某些编译器上输出24,并且对于某些其他编译器也可以正常工作。但是pow(5,2)没有对整数进行任何分配将输出25。

  • 这是因为5 2 (即25)可能存储为24.9999999或25.0000000001,因为返回类型为double。分配给int时,25.0000000001变为25,但是24.9999999将给出输出24。
  • 为了克服这个问题并以整数格式输出准确的答案,我们可以将结果加0.5并将其类型转换为int,例如(int)(pow(5,2)+0.5)将给出正确的答案(25,在上面的示例中) ,无论编译器如何。

C

// C program to illustrate
// working with integers in
// power function
#include 
#include 
  
int main()
{
    int a;
  
    // Using typecasting for
    // integer result
    a = (int)(pow(5, 2) + 0.5);
    printf("%d", a);
  
    return 0;
}

C++

// CPP program to illustrate
// working with integers in
// power function
#include 
using namespace std;
int main()
{
    int a;
  
    // Using typecasting for
    // integer result
    a = (int)(pow(5, 2) + 0.5);
    cout << a;
  
    return 0;
}
输出:
25
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。