sqrt
, sqrtf
, sqrtl
Karekökünü hesaplar.
Sözdizimi
double sqrt(
double x
);
float sqrt(
float x
); // C++ only
long double sqrt(
long double x
); // C++ only
float sqrtf(
float x
);
long double sqrtl(
long double x
);
#define sqrt(x) // Requires C11 or higher
Parametreler
x
Negatif olmayan kayan nokta değeri
Açıklamalar
C++ aşırı yüklemeye izin verdiğinden, bu alma float
veya long double
türlerinin sqrt
aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için makroyu <tgmath.h>
kullanmadığınız sürece, sqrt
her zaman alır ve döndürür double
.
Makroyu <tgmath.h> sqrt()
kullanırsanız, bağımsız değişkenin türü işlevin hangi sürümünün seçili olduğunu belirler. Ayrıntılar için bkz . Tür genel matematik .
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.
Dönüş değeri
sqrt
İşlevler işlevinin karekökünü x
döndürür. Varsayılan olarak, negatifse x
sqrt
süresiz NaN
bir döndürür.
Giriş | SEH özel durumu | _matherr özel durumu |
---|---|---|
± QNaN, IND | yok | _DOMAIN |
-INF | yok | _DOMAIN |
x < 0 |
yok | _DOMAIN |
Gereksinimler
İşlev | C üst bilgisi | C++ üst bilgisi |
---|---|---|
sqrt , sqrtf , sqrtl |
<math.h> |
<cmath> |
sqrt Makro |
<tgmath.h> |
Uyumluluk bilgileri için bkz . Uyumluluk.
Örnek
// crt_sqrt.c
// This program calculates a square root.
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
double question = 45.35, answer;
answer = sqrt( question );
if( question < 0 )
printf( "Error: sqrt returns %f\n", answer );
else
printf( "The square root of %.2f is %.2f\n", question, answer );
}
The square root of 45.35 is 6.73
Ayrıca bkz.
Matematik ve kayan nokta desteği
exp
, expf
, expl
log
, logf
, log10
, log10f
pow
, powf
, powl
_CIsqrt