Udostępnij za pośrednictwem


hypot, hypotf, hypotl, _hypot, _hypotf, _hypotl

Oblicza podcięcie.

Składnia

double hypot(
   double x,
   double y
);
float hypotf(
   float x,
   float y
);
long double hypotl(
   long double x,
   long double y
);
double _hypot(
   double x,
   double y
);
float _hypotf(
   float x,
   float y
);
long double _hypotl(
   long double x,
   long double y
);
#define hypotf(X, Y) // Requires C11 or higher

Parametry

x, y
Wartości zmiennoprzecinkowe.

Wartość zwracana

Jeśli operacja powiedzie się, hypot zwraca długość hipotenuzy; po przepełnieniu hypot zwraca wartość INF (nieskończoność), a zmienna errno jest ustawiona na ERANGEwartość . Możesz użyć _matherr polecenia , aby zmodyfikować obsługę błędów.

Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.

Uwagi

Funkcje hypot obliczają długość hipotenuse trójkąta prawego, biorąc pod uwagę długość obu stron x i y (innymi słowy pierwiastekx kwadratowy 2 + y2).

Wersje funkcji z wiodącymi podkreśleniami są udostępniane pod kątem zgodności z wcześniejszymi standardami. Ich zachowanie jest identyczne z wersjami, które nie mają wiodących podkreśleń. Zalecamy używanie wersji bez wiodących podkreśleń dla nowego kodu.

Jeśli używasz makra <tgmath.h>hypot() , typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Procedura Wymagany nagłówek
hypot, hypotf, hypotl, _hypot, _hypotf, _hypotl <math.h>
hypot Makro <tgmath.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// crt_hypot.c
// This program prints the hypotenuse of a right triangle.

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 3.0, y = 4.0;

   printf( "If a right triangle has sides %2.1f and %2.1f, "
           "its hypotenuse is %2.1f\n", x, y, _hypot( x, y ) );
}
If a right triangle has sides 3.0 and 4.0, its hypotenuse is 5.0

Zobacz też

Obsługa obliczeń matematycznych i zmiennoprzecinkowych
_cabs
_matherr