Aracılığıyla paylaş


hypot, hypotf, hypotl, , _hypot, _hypotf, _hypotl

Hipotenüs hesaplar.

Sözdizimi

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

Parametreler

x, y
Kayan nokta değerleri.

Dönüş değeri

Başarılı olursa hipotenüs hypot uzunluğunu döndürür; taşma hypot durumunda INF (sonsuz) değerini döndürür ve errno değişken olarak ERANGEayarlanır. Hata işlemeyi değiştirmek için kullanabilirsiniz _matherr .

İade kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.

Açıklamalar

İşlevlerhypot, iki kenarın x uzunluğu ve y (başka bir deyişle, 2 2'nin + y karekökü) göz önünde bulundurularak sağ üçgenin hipotenüs uzunluğunu xhesaplar.

Ön alt çizgi içeren işlevlerin sürümleri, önceki standartlarla uyumluluk için sağlanır. Davranışları, öndeki alt çizgilere sahip olmayan sürümlerle aynıdır. Yeni kod için ön alt çizgi olmadan sürümleri kullanmanızı öneririz.

tgmath.h>hypot() makroyu <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 .

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 başlık
hypot, hypotf, hypotl, , _hypot, _hypotf, _hypotl <math.h>
hypot Makro <tgmath.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

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

Ayrıca bkz.

Matematik ve kayan nokta desteği
_cabs
_matherr