Condividi tramite


sqrt, sqrtf, sqrtl

Calcola la radice quadrata.

Sintassi

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

Parametri

x
Valore a virgola mobile non negativo

Osservazioni:

Poiché C++ consente l'overload, è possibile chiamare overload di sqrt che accettino tipi float e long double. In un programma C, a meno che non si usi la <tgmath.h> macro per chiamare questa funzione, sqrt accetta sempre e restituisce double.

Se si utilizza la <tgmath.h> sqrt() macro, il tipo dell'argomento determina quale versione della funzione è selezionata. Per informazioni dettagliate, vedere La matematica generica dei tipi.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Valore restituito

La funzione sqrt restituisce la radice quadrata di x. Per impostazione predefinita, se x è negativo, sqrt restituisce un valore illimitato NaN.

Input Eccezione SEH Eccezione _matherr
± QNaN, IND Nessuno _DOMAIN
-INF Nessuno _DOMAIN
x < 0 Nessuno _DOMAIN

Requisiti

Funzione Intestazione C Intestazione C++
sqrt, sqrtf, sqrtl <math.h> <cmath>
sqrt macro <tgmath.h>

Per informazioni sulla compatibilità, vedere Compatibilità.

Esempio

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

Vedi anche

Supporto matematico e a virgola mobile
exp, expf, expl
log, logf, log10log10f
pow, powf, powl
_CIsqrt