pow, powf, powl

Calcula x elevado à potência de y.

Sintaxe

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

Parâmetros

x
Base.

y
Expoente.

Retornar valor

Retorna o valor de xy. Nenhuma mensagem de erro é impressa em estouro ou estouro negativo.

Valores de x e y Valor de retorno de pow
x != 0,0 e y == 0,0 1
x == 0.0 e y == 0.0 1
x == 0.0 e y< 0 INF

Comentários

pow não reconhece valores integrais de ponto flutuante maiores que 264 (por exemplo, 1,0E100).

pow tem uma implementação que usa SSE2 (Extensões SIMD de Streaming 2). Para obter informações e restrições relativas ao uso da implementação de SSE2, confira _set_SSE2_enable.

Como C++ permite sobrecargas, você pode chamar qualquer uma das várias sobrecargas de pow. Em um programa do C, a menos que você esteja usando a macro <tgmath.h> para chamar essa função, pow sempre receberá dois valores double e retornará um valor double.

Se você usar a pow macro de <tgmath.h>, o tipo do argumento determinará qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.

A sobrecarga pow(int, int) não está mais disponível. Se você usar essa sobrecarga, o compilador poderá emitir o C2668. Para evitar esse problema, converta o primeiro parâmetro para double, float ou long double.

Originalmente, as pow(T, int) sobrecargas desenrolavam a pow chamada em uma sequência de operações de multiplicação embutidas. Embora fosse mais rápido, também era muito menos preciso. Essa implementação foi removida no Visual Studio 2015 Atualização 1. Para obter mais informações, consulte Aprimoramentos de conformidade no Visual Studio 2015 Atualização 1.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Requisitos

Rotina Cabeçalho necessário (C) Cabeçalho necessário (C++)
pow, powf, powl <math.h> <math.h> ou <cmath>
Macro pow <tgmath.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

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

Confira também

Suporte a matemática e ponto flutuante
exp, expf, expl
log, logf, log10, log10f
sqrt, sqrtf, sqrtl
_CIpow