hypot
, hypotf
, hypotl
, _hypot
, _hypotf
, _hypotl
Calcula a hipotenusa.
Sintaxe
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
Parâmetros
x
, y
Valores de ponto flutuante.
Valor retornado
Se for bem-sucedido, hypot
retorna o comprimento da hipotenusa, no estouro, hypot
retorna INF (infinito) e a variável errno
é definida como ERANGE
. Você pode usar _matherr
para modificar o tratamento de erros.
Para obter mais informações sobre códigos de retorno, confira errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Comentários
As funções hypot
calculam o comprimento da hipotenusa de um triângulo retângulo, dado o comprimento dos dois lados x
e y
(em outras palavras, a raiz quadrada de x
2 + y
2).
As versões das funções que têm sublinhados iniciais são fornecidas para compatibilidade com os padrões anteriores. Seu comportamento é idêntico ao das versões que não têm sublinhados iniciais. É recomendável usar as versões sem sublinhados iniciais para o novo código.
Se você usa a macro <tgmath.h>hypot()
, o tipo do argumento determina qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Requisitos
Rotina | Cabeçalho necessário |
---|---|
hypot , hypotf , hypotl , _hypot , _hypotf , _hypotl |
<math.h> |
Macro hypot |
<tgmath.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// 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