?
This document uses PHP Chinese website manual Release
在頭文件<math.h>中定義 | ||
---|---|---|
float powf(float base,float exponent); | (1) | (自C99以來(lái)) |
double pow(雙基地,雙指數(shù)); | (2) | |
長(zhǎng)雙倍powl(長(zhǎng)雙倍基數(shù),長(zhǎng)雙倍指數(shù)); | (3) | (自C99以來(lái)) |
在頭文件<tgmath.h>中定義 | ||
#define pow(基數(shù),指數(shù)) | (4) | (自C99以來(lái)) |
1-3)計(jì)算base
提高到功率的值exponent
。
4)類(lèi)型 - 通用宏:如果任何參數(shù)具有類(lèi)型long double
,powl
則被調(diào)用。否則,如果任何參數(shù)具有整數(shù)類(lèi)型或具有類(lèi)型double
,pow
則被調(diào)用。否則,powf
被調(diào)用。如果至少一個(gè)參數(shù)是復(fù)雜的或虛,則宏調(diào)用相應(yīng)的復(fù)變函數(shù)(cpowf
,cpow
,cpowl
)。
基礎(chǔ) | - | 基礎(chǔ)為浮點(diǎn)值 |
---|---|---|
指數(shù) | - | 指數(shù)為浮點(diǎn)值 |
如果沒(méi)有錯(cuò)誤發(fā)生,base
提高到exponent
(基礎(chǔ)組件的力量
)返回。
如果發(fā)生域錯(cuò)誤,則返回實(shí)現(xiàn)定義的值(NaN,如果支持)。
如果極錯(cuò)誤或一系列錯(cuò)誤,由于發(fā)生溢出,±HUGE_VAL
,±HUGE_VALF
,或±HUGE_VALL
返回。
如果由于下溢而發(fā)生范圍錯(cuò)誤,則返回正確的結(jié)果(舍入后)。
按照 math_errhandling 中的指定報(bào)告錯(cuò)誤。
如果base
是有限且負(fù)數(shù)且exponent
是有限且非整數(shù)的,則會(huì)發(fā)生域錯(cuò)誤并可能發(fā)生范圍錯(cuò)誤。
如果base
為零且exponent
為零,則可能會(huì)發(fā)生域錯(cuò)誤。
如果base
為零且exponent
為負(fù)值,則可能會(huì)出現(xiàn)域錯(cuò)誤或極點(diǎn)錯(cuò)誤。
如果實(shí)現(xiàn)支持 IEEE 浮點(diǎn)運(yùn)算(IEC 60559),
pow(+0, exponent)
,其中exponent
是一個(gè)負(fù)的奇數(shù)整數(shù),返回+∞
并提升FE_DIVBYZERO
pow(-0, exponent)
,其中exponent
是一個(gè)負(fù)的奇數(shù)整數(shù),返回-∞
并提升FE_DIVBYZERO
pow(±0, exponent)
,其中exponent
是負(fù)數(shù),有限數(shù),是偶數(shù)或非整數(shù),返回+∞并上升FE_DIVBYZERO
pow(±0, -∞)
返回+∞并可能升高 FE_DIVBYZERO
pow(+0, exponent)
,其中exponent
是一個(gè)正的奇數(shù)整數(shù),返回+0
pow(-0, exponent)
,其中exponent
是一個(gè)正的奇數(shù)整數(shù),返回-0
pow(±0, exponent)
,其中exponent
是正整數(shù)或正整數(shù),返回+0
pow(-1, ±∞)
回報(bào) 1
pow(+1, exponent)1
任何回報(bào)exponent
,即使exponent
是NaN
pow(base, ±0)1
任何回報(bào)base
,即使base
是NaN
pow(base, exponent)
如果是有限的和負(fù)的,并且是有限的和非整數(shù)的,則返回NaN
并且升高。FE_INVALIDbaseexponent
pow(base, -∞)
返回+∞的任何 |base|<1
pow(base, -∞)
任何返回+0 |base|>1
pow(base, +∞)
任何返回+0 |base|<1
pow(base, +∞)
返回+∞的任何 |base|>1
pow(-∞, exponent)
如果exponent
是負(fù)的奇數(shù)則返回-0
pow(-∞, exponent)
如果exponent
是非負(fù)整數(shù)或偶數(shù)則返回+0
pow(-∞, exponent)
返回-∞如果exponent
是正的奇數(shù)整數(shù)
pow(-∞, exponent)
返回+∞如果exponent
是一個(gè)正的非整數(shù)或甚至整數(shù)
pow(+∞, exponent)
對(duì)任何否定返回+0 exponent
pow(+∞, exponent)
對(duì)任何積極的結(jié)果返回+∞ exponent
除了上面指定的地方,如果任何參數(shù)是NaN,則返回NaN
雖然pow
不能用于獲得負(fù)數(shù)的根,cbrt
但是為exponent
1/3 的常見(jiàn)情況提供。
#include <stdio.h>#include <math.h>#include <errno.h>#include <fenv.h> #pragma STDC FENV_ACCESS ON int main(void){ // typical usage printf("pow(2, 10) = %f\n", pow(2,10)); printf("pow(2, 0.5) = %f\n", pow(2,0.5)); printf("pow(-2, -3) = %f\n", pow(-2,-3)); // special values printf("pow(-1, NAN) = %f\n", pow(-1,NAN)); printf("pow(+1, NAN) = %f\n", pow(+1,NAN)); printf("pow(INFINITY, 2) = %f\n", pow(INFINITY, 2)); printf("pow(INFINITY, -1) = %f\n", pow(INFINITY, -1)); // error handling errno = 0; feclearexcept(FE_ALL_EXCEPT); printf("pow(-1, 1/3) = %f\n", pow(-1, 1.0/3)); if(errno == EDOM) perror(" errno == EDOM"); if(fetestexcept(FE_INVALID)) puts(" FE_INVALID raised"); feclearexcept(FE_ALL_EXCEPT); printf("pow(-0, -3) = %f\n", pow(-0.0, -3)); if(fetestexcept(FE_DIVBYZERO)) puts(" FE_DIVBYZERO raised");}
可能的輸出:
pow(2, 10) = 1024.000000pow(2, 0.5) = 1.414214pow(-2, -3) = -0.125000pow(-1, NAN) = nanpow(+1, NAN) = 1.000000pow(INFINITY, 2) = infpow(INFINITY, -1) = 0.000000pow(-1, 1/3) = -nan errno == EDOM: Numerical argument out of domain FE_INVALID raisedpow(-0, -3) = -inf FE_DIVBYZERO raised
C11標(biāo)準(zhǔn)(ISO / IEC 9899:2011):
7.12.7.4冪函數(shù)(p:248-249)
7.25類(lèi)型通用數(shù)學(xué)<tgmath.h>(p:373-375)
F.10.4.4冪函數(shù)(p:524-525)
C99標(biāo)準(zhǔn)(ISO / IEC 9899:1999):
7.12.7.4 pow 函數(shù)(p:229)
7.22類(lèi)型通用數(shù)學(xué)<tgmath.h>(p:335-337)
F.9.4.4冪函數(shù)(p:461)
C89 / C90標(biāo)準(zhǔn)(ISO / IEC 9899:1990):
4.5.5.1 pow 函數(shù)
sqrtsqrtfsqrtl(C99)(C99) | 計(jì)算平方根(√x)(函數(shù)) |
---|---|
cbrtcbrtfcbrtl(C99)(C99)(C99) | 計(jì)算立方根(3√x)(函數(shù)) |
hypothypotfypotl(C99)(C99)(C99) | 計(jì)算兩個(gè)給定數(shù)的平方和的平方根(√x2+ y2)(函數(shù)) |
cpowcpowfcpowl(C99)(C99)(C99) | 計(jì)算復(fù)數(shù)冪函數(shù)(函數(shù)) |
| C++ documentation for pow |