std::hypot
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <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 起) |
计算
4) 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
如果任何参数是整数类型,它被转换为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.
目录 |
[编辑] 参数
x | - | 浮点值
|
y | - | 浮点值
|
[编辑] 返回值
一个直角三角形的斜边,√x2
+y2
.
+y2
.
原文:
The hypotenuse of a right-angled triangle, √x2
+y2
.
+y2
.
[编辑] 例外
如果结果溢出,范围可能发生错误,FE_OVERFLOW可能会引发.
原文:
If the result overflows, a range error may occur and FE_OVERFLOW may be raised.
如果结果是次正规,下溢错误,可能会发生与FE_UNDERFLOW可能提出.
原文:
If the result is subnormal, an underflow error may occur and FE_UNDERFLOW may be raised.
[编辑] 注释
典型的执行战略是计算相当于u√1+(
)2
地方
v |
u |
地方
u
std::max(x,y)和v
是std::min(x,y).[编辑] 示例
#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
[编辑] 另请参阅
计算平方根(√x) (函数) | |
引起了一些给定的功率(xy) 原文: raises a number to the given power (xy) (函数) | |
返回一个复数的幅度 原文: returns the magnitude of a complex number (函数模板) |