當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。