pow
, powf
, powl
x
'nin gücüne yükseltilen değeri y
hesaplar.
Sözdizimi
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
Parametreler
x
Taban.
y
Üs.
Dönüş değeri
değerini x
y
döndürür. Taşma veya yetersizlik üzerine hiçbir hata iletisi yazdırılmaz.
ve değerleri x y |
Dönüş değeri: pow |
---|---|
x != 0,0 ve y == 0,0 |
1 |
x == 0,0 ve y == 0,0 |
1 |
x == 0,0 ve y < 0 |
INF |
Açıklamalar
pow
264'ten büyük tamser kayan nokta değerlerini tanımaz (örneğin, 1,0E100).
pow
, Streaming SIMD Extensions 2 (SSE2) kullanan bir uygulamaya sahiptir. SSE2 uygulamasını kullanma hakkında bilgi ve kısıtlamalar için bkz _set_SSE2_enable
. .
C++ aşırı yüklemeye izin verdiğinden, çeşitli aşırı yüklemelerinden pow
herhangi birini çağırabilirsiniz. C programında, bu işlevi çağırmak için makroyu kullanmadığınız <tgmath.h>
sürece her pow
zaman iki double
değer alır ve bir double
değer döndürür.
öğesinden pow
<tgmath.h>
makro kullanırsanız, işlevin hangi sürümünün seçili olduğunu bağımsız değişkenin türü belirler. Ayrıntılar için bkz . Tür genel matematik .
Aşırı pow(int, int)
yükleme artık kullanılamıyor. Bu aşırı yüklemeyi kullanırsanız, derleyici C2668 yayabilir. Bu sorunu önlemek için, ilk parametreyi double
, float
veya long double
olarak yazın.
Başlangıçta aşırı pow(T, int)
yüklemeler, çağrının pow
kaydını bir satır içi çarpma işlemleri dizisine kaldırmıştı. Daha hızlı olsa da çok daha az doğruydu. Bu uygulama Visual Studio 2015 Güncelleştirme 1'de kaldırıldı. Daha fazla bilgi için bkz . Visual Studio 2015 Güncelleştirme 1'de uyumluluk geliştirmeleri.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
Yordam | Gerekli üst bilgi (C) | Gerekli üst bilgi (C++) |
---|---|---|
pow , powf , powl |
<math.h> |
<math.h> veya <cmath> |
pow Makro |
<tgmath.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// 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
Ayrıca bkz.
Matematik ve kayan nokta desteği
exp
, expf
, expl
log
, logf
, log10
, log10f
sqrt
, sqrtf
, sqrtl
_CIpow