Пространства имён
Варианты
Действия

std::hypot

Материал из cppreference.com
< cpp‎ | numeric‎ | math

 
 
 
Общие математические функции
Функции
Основные операции
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Экспоненциальные функции
(C++11)
(C++11)
(C++11)
(C++11)
Степенные функции
(C++11)
hypot
(C++11)
Тригонометрические и гиперболические функции
(C++11)
(C++11)
(C++11)
Ошибка и гамма функции
(C++11)
(C++11)
(C++11)
(C++11)
Операции целочисленного округления с плавающей запятой
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Функции манипуляции с плавающей запятой
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
Классификация/Сравнение
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Макро-константы
(C++11)(C++11)(C++11)(C++11)(C++11)
 
Определено в заголовочном файле <cmath>
float       hypot( float x, float y );
(1) (начиная с C++11)
double      hypot( double x, double y );
(2) (начиная с C++11)
long double hypot( long double x, long double y );
(3) (начиная с C++11)
Promoted    hypot( Arithmetic x, Arithmetic y );
(4) (начиная с C++11)
Вычисляет квадратный корень из суммы квадратов x и y, без излишнего переполнения на промежуточных этапах вычислений. Это длину гипотенузы прямоугольного треугольника со сторонами длиной x и y, или расстояние от точки (x,y) от начала (0,0), или величина комплекс x+iy номер
Оригинал:
Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation. This is the length of the hypotenuse of a right-angled triangle with sides of length x and y, or the distance of the point (x,y) from the origin (0,0), or the magnitude of a complex number x+iy
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
Если какой-либо из аргументов имеет целый тип, он приведен к double. Если любой другой аргумент long double, то возвращаемый тип long double, иначе это double.
Оригинал:
If any argument has integral type, it is cast to double. If any other argument is long double, then the return type is long double, otherwise it is double.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Параметры

x
плавающей точкой
Оригинал:
floating point value
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
y
плавающей точкой
Оригинал:
floating point value
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Возвращаемое значение

Гипотенузы прямоугольного треугольника, x2
+y2
.
Оригинал:
The hypotenuse of a right-angled triangle, x2
+y2
.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Исключения

Если в результате переполнения диапазона ошибка может возникнуть и FE_OVERFLOW может быть поднят.
Оригинал:
If the result overflows, a range error may occur and FE_OVERFLOW may be raised.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если результат субнормальных, нижний может произойти ошибка и FE_UNDERFLOW может быть поднят.
Оригинал:
If the result is subnormal, an underflow error may occur and FE_UNDERFLOW may be raised.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Заметки

Типичные реализации стратегии заключается в расчете эквивалента u1+(
v
u
)2
где u является std::max(x,y) и v является std::min(x,y).
Оригинал:
Typical implementation strategy is to calculate an equivalent of u1+(
v
u
)2
where u is std::max(x,y) and v is std::min(x,y).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Пример

#include <cmath>
#include <utility>
#include <iostream>
 
std::pair<double, double> cartesian_to_polar(double x, double y)
{
    return {std::hypot(x, y), std::atan2(y,x)};
}
 
int main()
{
    std::pair<double, double> polar = cartesian_to_polar(1, 1);
    std::cout << "(1,1) cartesian is (" << polar.first
               << "," << polar.second<< ") polar\n";
}

Вывод:

(1,1) cartesian is (1.41421,0.785398) polar

[править] См. также

(C++11)(C++11)
вычисляет квадратный корень (x)
(функция) [править]
(C++11)(C++11)
возводит число в указанную степень (xy)
(функция) [править]
возвращает величину комплексного числа
(шаблон функции) [править]