hypot, hypotf, hypotl – расчет расстояния от начала координат до заданной точки на плоскости.
Синтаксис:
#include < math.h >
double hypot (double x, double y);
float hypotf (float x, float y);
long double hypotl (long double x, long double y);
Аргументы:
x – координата X.
y – координата Y.
Возвращаемое значение:
Расстояние от начала координат до точки заданной координатами X и Y.
Описание:
Функции fdim, hypotf, hypotl рассчитывают расстояние на плоскости от начала координат до точки заданной координатами X и Y, то есть рассчитывают выражение: sqrt (x*x+y*y).
Аргументы и возвращаемое значение функции hypot являются числами с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность - 64).
Аргументы и возвращаемое значение функции hypotf являются числами с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность - 32).
Аргументы и возвращаемое значение функции hypotl являются числами с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность - 80).
Пример:
В примере рассчитывается расстояние до точки [12.345, 46.297] с помощью функций hypot, hypotf, hypotl и результат выводится на консоль. Обратите внимание на точность полученных результатов в зависимости от используемой функции.
#include < stdio.h > //Для printf
#include < math.h > //Для hypot, hypotf, hypotl
int main (void)
{
//Вывод на консоль аргументов функций
printf (“Аргументы: X=12.345, Y=46,297\n”);
//Расчет и вывод результата работы функции hypotf
printf (“hypotf : %.20f\n”, hypotf (12.345, 46.297) );
//Расчет и вывод результата работы функции hypot
printf (“hypot : %.20f\n”, hypot (12.345, 46.297) );
//Расчет и вывод результата работы функции hypotl
printf (“hypotl : %.20Lf\n”, hypotl (12.345, 46.297) );
return 0;
}
| |
Результат:
Аргументы: X=12.345, Y=46,297
hypotf : 47.88563537597656250000
hypot : 47.88563786773650576833
hypotl : 47.88563786773650459913
|
Смотри так же:
hypot, hypotf, hypotl
cbrt, cbrtf, cbrtl
sqrt, sqrtf, sqrtl
pow, powf, powl
cpow, cpowf, cpowl
|