名前空間
変種
操作

std::hypot

提供: cppreference.com
< cpp‎ | numeric‎ | math

 
 
ニューメリックスライブラリ
一般的な数学関数
浮動小数点環境
複素数
数値配列
擬似乱数生成
コンパイル時有理数演算 (C++11)
汎用の数値演算
Original:
Generic numeric operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
iota(C++11)
accumulate
inner_product
adjacent_difference
partial_sum
 
一般的な数学関数
機能します
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
基本操作
Original:
Basic operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
remainder(C++11)
remquo(C++11)
fma(C++11)
fmax(C++11)
fmin(C++11)
fdim(C++11)
nan
nanf
nanl
(C++11)
(C++11)
(C++11)
指数関数
Original:
Exponential functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
exp
exp2(C++11)
expm1(C++11)
log
log10
log1p(C++11)
log2(C++11)
電源機能
Original:
Power functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sqrt
cbrt(C++11)
hypot(C++11)
pow
三角関数や双曲線関数
Original:
Trigonometric and hyperbolic functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sinh
cosh
tanh
asinh(C++11)
acosh(C++11)
atanh(C++11)
エラーおよびガンマ関数
Original:
Error and gamma functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
erf(C++11)
erfc(C++11)
lgamma(C++11)
tgamma(C++11)
最も近い整数の浮動小数点演算
Original:
Nearest integer floating point operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ceil
floor
round
lround
llround
(C++11)
(C++11)
(C++11)
trunc(C++11)
nearbyint(C++11)
rint
lrint
llrint
(C++11)
(C++11)
(C++11)
点操作関数に浮かぶ
Original:
Floating point manipulation functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ldexp
scalbn
scalbln
(C++11)
(C++11)
ilogb(C++11)
logb(C++11)
frexp
modf
nextafter
nexttoward
(C++11)
(C++11)
copysign(C++11)
分類/比較
Original:
Classification/Comparison
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
fpclassify(C++11)
isfinite(C++11)
isinf(C++11)
isnan(C++11)
isnormal(C++11)
signbit(C++11)
isgreater(C++11)
isgreaterequal(C++11)
isless(C++11)
islessequal(C++11)
islessgreater(C++11)
isunordered(C++11)
マクロ定数
Original:
Macro constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
 
Defined in header <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およびそれ以降)
計算の中間段階での過度のオーバーフローまたはアンダーフローが発生することなく、xyの二乗和の平方根を計算します。これは、長さの辺をもつ直角三角形の斜辺の長さxy、または起点(x,y)、または複素数(0,0)の大きさから点x+iyの距離
Original:
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
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
4)
いずれかの引数が整数型を持つ場合、それはdoubleにキャストされます。他の引数はlong doubleあれば、戻り値の型はlong double、それ以外の場合はdoubleです.
Original:
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.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] パラメータ

x -
浮動小数点値
Original:
floating point value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
y -
浮動小数点値
Original:
floating point value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] 値を返します

直角三角形の斜辺、x2
+y2
.
Original:
The hypotenuse of a right-angled triangle, x2
+y2
.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] 例外

結果がオーバーフローした場合は、範囲エラーが発生する可能性があり、FE_OVERFLOWが発生する場合があります.
Original:
If the result overflows, a range error may occur and FE_OVERFLOW may be raised.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
結果が非正規の場合は、アンダーフローエラーが発生する可能性があり、FE_UNDERFLOWが発生する場合があります.
Original:
If the result is subnormal, an underflow error may occur and FE_UNDERFLOW may be raised.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] ノート

典型的な実装戦略はu1+(
v
u
)2
の等価uですstd::max(x,y)vstd::min(x,y)です..を計算することである
Original:
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).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]

#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";
}

Output:

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

[編集] も参照してください

平方根は(x)を計算します
Original:
computes square root (x)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(関数) [edit]
与えられた電力(xy)に番号を発生させます
Original:
raises a number to the given power (xy)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(関数) [edit]
複素数の絶対値を返します
Original:
returns the magnitude of a complex number
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(関数テンプレート) [edit]