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 ERANGE
wartość . 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_errlist
i _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 + y
2).
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