当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ Power用法及代码示例


给定两个基数和 index ,pow()函数找到x升为y的幂的函数,即xy。本质上以C表示的 index 是使用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 <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; 
}
输出:
5882.79

Working of pow() function with integers

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

  • 这是因为52(即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 <math.h> 
#include <stdio.h> 
  
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 <bits/stdc++.h> 
using namespace std; 
int main() 
{ 
    int a; 
  
    // Using typecasting for 
    // integer result 
    a = (int)(pow(5, 2) + 0.5); 
    cout << a; 
  
    return 0; 
}
输出:
25


相关用法


注:本文由纯净天空筛选整理自 Power Function in C/C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。