pow
, , powf
powl
x
Vypočítá umocněné na mocninu y
.
Syntaxe
double pow( double x, double y );
float powf( float x, float y );
long double powl( long double x, long double y );
define pow(X, Y) // Requires C11 or higher
double pow( double x, int y ); // C++ only
float pow( float x, float y ); // C++ only
float pow( float x, int y ); // C++ only
long double pow( long double x, long double y ); // C++ only
long double pow( long double x, int y ); // C++ only
Parametry
x
Základna.
y
Exponent.
Vrácená hodnota
Vrátí hodnotu x
y
. Při přetečení nebo podtečení se nevytiskne žádná chybová zpráva.
Hodnoty a x y |
Návratová hodnota pow |
---|---|
x != 0,0 a y == 0,0 |
0 |
x == 0,0 a y == 0,0 |
0 |
x == 0,0 a y < 0 |
INF |
Poznámky
pow
nerozpozná celočíselné hodnoty s plovoucí desetinou čárkou větší než 264 (například 1,0E100).
pow
má implementaci, která používá streamovaná rozšíření SIMD 2 (SSE2). Informace a omezení týkající se použití implementace SSE2 naleznete v tématu _set_SSE2_enable
.
Vzhledem k tomu, C++ umožňuje přetížení, můžete volat libovolné z různých přetížení pow
. Pokud v programu jazyka C nepoužíváte <tgmath.h>
makro k volání této funkce, pow
vždy přebírá dvě double
hodnoty a vrací double
hodnotu.
Pokud použijete pow
makro z <tgmath.h>
, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Přetížení pow(int, int)
už není k dispozici. Pokud použijete toto přetížení, kompilátor může generovat C2668. Chcete-li se tomuto problému vyhnout, přetypujte první parametr na double
, float
nebo long double
.
pow(T, int)
Přetížení původně rozbalila pow
volání do posloupnosti vložených operací násobení. I když to bylo rychlejší, bylo to také mnohem méně přesné. Tato implementace byla odebrána v sadě Visual Studio 2015 Update 1. Další informace najdete v tématu Vylepšení shody v sadě Visual Studio 2015 Update 1.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Povinná hlavička (C) | Povinná hlavička (C++) |
---|---|---|
pow , , powf powl |
<math.h> |
<math.h> nebo <cmath> |
pow makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_pow.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.0, y = 3.0, z;
z = pow( x, y );
printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );
}
2.0 to the power of 3.0 is 8.0
Viz také
Podpora pro matematiku a plovoucí desetinou čárku
exp
, , expf
expl
log
, logf
, , log10
log10f
sqrt
, , sqrtf
sqrtl
_CIpow