「std::hypot」の版間の差分
提供: C++入門
(→三平方の定理の定理) |
|||
行21: | 行21: | ||
蛇足になりますが、C言語では、C99でhypotが追加されています。 | 蛇足になりますが、C言語では、C99でhypotが追加されています。 | ||
− | == | + | == 三平方の定理とは == |
ここは、数学のおさらいになります。三平方の定理がわかっている方は、読み飛ばしてください。 | ここは、数学のおさらいになります。三平方の定理がわかっている方は、読み飛ばしてください。 | ||
直角三角形があり、それぞれの3辺を | 直角三角形があり、それぞれの3辺を | ||
行40: | 行40: | ||
[[std::hypot]]は、2辺の値から残りの1辺の長さを求めます。 | [[std::hypot]]は、2辺の値から残りの1辺の長さを求めます。 | ||
+ | |||
== インストール == | == インストール == | ||
C++11 から利用できるようになりました。 | C++11 から利用できるようになりました。 |
2015年10月31日 (土) 21:24時点における最新版
std::hypot とは、数値計算用の関数で、平方和の平方根を求めます。hypotは、hypotenuse の略で、 hypotenuseは、斜辺という意味です。直角三角形の辺を求める式になります。
読み方
- std::hypot
- えすてぃーでぃー
- hypotenuse
- はいぽーてぃねす
概要
std::hypotは、平方和の平方根を求める数値計算用の関数です。
sqrt()は、平方根を求める関数です。sqrt()を利用した場合、
z = sqrt(x*x, y*y);
のようになります。 std::hypotを利用した場合、以下のように書けます。
z = std::hypot(x,y);
C++だと簡単に書ける、ということになります。
蛇足になりますが、C言語では、C99でhypotが追加されています。
三平方の定理とは
ここは、数学のおさらいになります。三平方の定理がわかっている方は、読み飛ばしてください。 直角三角形があり、それぞれの3辺を
x y z
としたとき、3辺の長さは、
z2 = x2 + y2
が成り立ちます。これは、三平方の定理と呼ばれています。3辺のうち、2辺の長さがわかっているときに、残りの1辺の長さを求められます。
上の定理は、以下のように書けます。 z = √ x2 + y2
std::hypotは、2辺の値から残りの1辺の長さを求めます。
インストール
C++11 から利用できるようになりました。
ヘッダファイル
#include <cmath>
ソースコード
/* * hypot1.cpp * Copyright (C) 2015 kaoru <kaoru@localhost> */ #include <iostream> #include <cmath> int main(int argc, char const* argv[]) { std::cout << "hypot(1.0, 1.0) = " << std::hypot(1.0, 1.0) << std::endl; std::cout << "hypot(3.0, 4.0) = " << std::hypot(3.0, 4.0) << std::endl; return 0; }
コンパイル
c++ hypot1.cpp
実行例
$ ./a.out hypot(1.0, 1.0) = 1.41421 hypot(3.0, 4.0) = 5