Udostępnij za pośrednictwem


pow, , powfpowl

x Oblicza wartość podniesioną do potęgi .y

Składnia

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
Baza.

y
Wykładnik.

Wartość zwracana

Zwraca wartość xy. Żaden komunikat o błędzie nie jest drukowany na przepełnieniu lub niedopełnieniu.

Wartości i xy Zwracana wartość pow
x != 0.0 i y == 0.0 1
x == 0.0 i y == 0.0 1
x == 0.0 i y< 0 INF

Uwagi

pow nie rozpoznaje całkowitych wartości zmiennoprzecinkowych większych niż 264 (na przykład 1.0E100).

pow ma implementację korzystającą z rozszerzeń SIMD przesyłania strumieniowego 2 (SSE2). Aby uzyskać informacje i ograniczenia dotyczące korzystania z implementacji SSE2, zobacz _set_SSE2_enable.

Ponieważ język C++ umożliwia przeciążenie, można wywołać dowolne z różnych przeciążeń klasy pow. W programie języka C, chyba że używasz makra <tgmath.h> do wywołania tej funkcji, pow zawsze przyjmuje dwie double wartości i zwraca double wartość.

Jeśli używasz makra pow z <tgmath.h>, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .

pow(int, int) Przeciążenie nie jest już dostępne. Jeśli używasz tego przeciążenia, kompilator może emitować C2668. Aby uniknąć tego problemu, należy rzutować pierwszy parametr na double, floatlub long double.

pow(T, int) Pierwotnie przeciążenia wyrejestrowali pow wywołanie do sekwencji operacji mnożenia śródwierszowego. Chociaż było to szybsze, było to również znacznie mniej dokładne. Ta implementacja została usunięta w programie Visual Studio 2015 Update 1. Aby uzyskać więcej informacji, zobacz Ulepszenia zgodności w programie Visual Studio 2015 Update 1.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Procedura Wymagany nagłówek (C) Wymagany nagłówek (C++)
pow, , powfpowl <math.h> <math.h> lub <cmath>
pow Makro <tgmath.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// 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

Zobacz też

Obsługa obliczeń matematycznych i zmiennoprzecinkowych
exp, , expfexpl
log, , logf, , log10log10f
sqrt, , sqrtfsqrtl
_CIpow