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.
Valor retornado
Retorna o valor de x
y
. Nenhuma mensagem de erro é impressa em estouro ou estouro negativo.
Valores de x e y |
Valor retornado 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 de ponto flutuante integral 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 Melhorias 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, confira Estado global no 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 matemático e de ponto flutuante
exp
, expf
, expl
log
, logf
, log10
, log10f
sqrt
, sqrtf
, sqrtl
_CIpow