6868
6969 </ head >
7070 < body >
71- < header data-kunai-mdinfo ="{"meta": {"header": ["cmath"], "namespace": ["std"], "id-type": ["function"], "cpp": ["cpp11"]}, "sources": [{"id": "92b16b2b3feacd8e211b5e484623e33a9b71612f", "source": "#include <iostream>\n#include <cmath>\n#include <limits>\n\nint main()\n{\n // \u901a\u5e38\u306e\u6570\u5024\n std::cout << \"1.0f, 2.0f : \" << std::copysign(1.0f, 2.0f) << std::endl;\n std::cout << \"0.0f, -2.0f : \" << std::copysign(0.0f, -2.0f) << std::endl;\n std::cout << \"1.5f, -0.0f : \" << std::copysign(1.5f, -0.0f) << std::endl;\n\n // \u7121\u9650\u5927\n const float inf = std::numeric_limits<float>::infinity();\n std::cout << \" inf, -2.0f : \" << std::copysign(inf, -2.0f) << std::endl;\n std::cout << \" inf, 2.0f : \" << std::copysign(inf, 2.0f) << std::endl;\n\n // NaN (Not a Number)\n // NaN\u306e\u7b26\u53f7\u3082\u30b3\u30d4\u30fc\u3055\u308c\u308b\u3002\n const float nan = std::numeric_limits<float>::quiet_NaN();\n std::cout << \" nan, -2.0f : \" << std::copysign(nan, -2.0f) << std::endl;\n std::cout << \" nan, 2.0f : \" << std::copysign(nan, 2.0f) << std::endl;\n}\n"}], "page_id": ["reference", "cmath", "copysign"]} ">
71+ < header data-kunai-mdinfo ="{"meta": {"header": ["cmath"], "namespace": ["std"], "id-type": ["function"], "cpp": ["cpp11"]}, "sources": [{"id": "942914393c52342a76a2ef1c4d4abf437082aba3", "source": "#include <iostream>\n#include <cmath>\n#include <limits>\n\nint main()\n{\n // \u901a\u5e38\u306e\u6570\u5024\n std::cout << \"1.0f, 2.0f : \" << std::copysign(1.0f, 2.0f) << std::endl;\n std::cout << \"0.0f, -2.0f : \" << std::copysign(0.0f, -2.0f) << std::endl;\n std::cout << \"1.5f, -0.0f : \" << std::copysign(1.5f, -0.0f) << std::endl;\n\n // \u7121\u9650\u5927\n const float inf = std::numeric_limits<float>::infinity();\n std::cout << \"-inf, 3.0f : \" << std::copysign(-inf, 3.0f) << std::endl;\n std::cout << \"3.0f, -inf : \" << std::copysign(3.0f, -inf) << std::endl;\n\n // NaN (Not a Number)\n // NaN\u306e\u7b26\u53f7\u3082\u30b3\u30d4\u30fc\u3055\u308c\u308b\u3002\n const float nan = std::numeric_limits<float>::quiet_NaN();\n std::cout << \" nan, -4.2f : \" << std::copysign(nan, -4.2f) << std::endl;\n std::cout << \"4.2f, -nan : \" << std::copysign(4.2f, -nan) << std::endl;\n}\n"}], "page_id": ["reference", "cmath", "copysign"]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
188188
189189 < p class ="text-right "> < small >
190190 最終更新日時(UTC):
191- < span itemprop ="datePublished " content ="2026-01-10T16:15:39 ">
192- 2026年01月10日 16時15分39秒
191+ < span itemprop ="datePublished " content ="2026-01-12T00:32:09 ">
192+ 2026年01月12日 00時32分09秒
193193 </ span >
194194 < br />
195195 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -272,7 +272,7 @@ <h2>備考</h2>
272272< li > C++23では、(1), (2), (3)が(4)に統合され、< a class ="cpprefjp-defined-word " data-desc ="<stdfloat>で定義される内部表現の規定された浮動小数点数型 " href ="../stdfloat.html "> 拡張浮動小数点数型</ a > を含む浮動小数点数型への< a class ="cpprefjp-defined-word " data-desc ="同名の関数を異なる引数・テンプレート・制約などで複数定義すること。または同名の関数の集合 "> オーバーロード</ a > として定義された</ li >
273273</ ul >
274274< h2 > 例</ h2 >
275- < p > < div class ="yata " id ="92b16b2b3feacd8e211b5e484623e33a9b71612f "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../iostream.html "> <iostream></ a > </ span > < span class ="cp "> </ span >
275+ < p > < div class ="yata " id ="942914393c52342a76a2ef1c4d4abf437082aba3 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../iostream.html "> <iostream></ a > </ span > < span class ="cp "> </ span >
276276< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../cmath.html "> <cmath></ a > </ span > < span class ="cp "> </ span >
277277< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../limits.html "> <limits></ a > </ span > < span class ="cp "> </ span >
278278
@@ -285,25 +285,25 @@ <h2>例</h2>
285285
286286 < span class ="c1 "> // 無限大</ span >
287287 < span class ="k "> const</ span > < span class ="kt "> float</ span > < span class ="n "> inf</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="../limits/numeric_limits.html "> std::numeric_limits</ a > </ span > < span class ="o "> <</ span > < span class ="kt "> float</ span > < span class ="o "> >::</ span > < span class ="n "> < a href ="../limits/numeric_limits/infinity.html "> infinity()</ a > </ span > < span class ="p "> ;</ span >
288- < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> " inf, -2 .0f : "</ span > < span class ="o "> <<</ span > < span class ="n "> < span style ="color:#ff0000 "> std::copysign</ span > </ span > < span class ="p "> (</ span > < span class ="n " > inf </ span > < span class ="p " > , </ span > < span class ="o " > - </ span > < span class ="mf "> 2 .0f</ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
289- < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> " inf , 2.0f : "</ span > < span class ="o "> <<</ span > < span class ="n "> < span style ="color:#ff0000 "> std::copysign</ span > </ span > < span class ="p "> (</ span > < span class ="n " > inf </ span > < span class ="p "> ,</ span > < span class ="mf " > 2.0f </ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
288+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "- inf, 3 .0f : "</ span > < span class ="o "> <<</ span > < span class ="n "> < span style ="color:#ff0000 "> std::copysign</ span > </ span > < span class ="p "> (</ span > < span class ="o " > - </ span > < span class ="n " > inf </ span > < span class ="p " > , </ span > < span class ="mf "> 3 .0f</ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
289+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "3.0f , -inf : "</ span > < span class ="o "> <<</ span > < span class ="n "> < span style ="color:#ff0000 "> std::copysign</ span > </ span > < span class ="p "> (</ span > < span class ="mf " > 3.0f </ span > < span class ="p "> ,</ span > < span class ="o " > - </ span > < span class =" n " > inf </ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
290290
291291 < span class ="c1 "> // NaN (Not a Number)</ span >
292292 < span class ="c1 "> // NaNの符号もコピーされる。</ span >
293293 < span class ="k "> const</ span > < span class ="kt "> float</ span > < span class ="n "> nan</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="../limits/numeric_limits.html "> std::numeric_limits</ a > </ span > < span class ="o "> <</ span > < span class ="kt "> float</ span > < span class ="o "> >::</ span > < span class ="n "> < a href ="../limits/numeric_limits/quiet_nan.html "> quiet_NaN()</ a > </ span > < span class ="p "> ;</ span >
294- < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> " nan, -2.0f : "</ span > < span class ="o "> <<</ span > < span class ="n "> < span style ="color:#ff0000 "> std::copysign</ span > </ span > < span class ="p "> (</ span > < span class ="n "> nan</ span > < span class ="p "> ,</ span > < span class ="o "> -</ span > < span class ="mf "> 2.0f </ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
295- < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> " nan , 2.0f : "</ span > < span class ="o "> <<</ span > < span class ="n "> < span style ="color:#ff0000 "> std::copysign</ span > </ span > < span class ="p "> (</ span > < span class ="n " > nan </ span > < span class ="p "> ,</ span > < span class ="mf " > 2.0f </ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
294+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> " nan, -4.2f : "</ span > < span class ="o "> <<</ span > < span class ="n "> < span style ="color:#ff0000 "> std::copysign</ span > </ span > < span class ="p "> (</ span > < span class ="n "> nan</ span > < span class ="p "> ,</ span > < span class ="o "> -</ span > < span class ="mf "> 4.2f </ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
295+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "4.2f , -nan : "</ span > < span class ="o "> <<</ span > < span class ="n "> < span style ="color:#ff0000 "> std::copysign</ span > </ span > < span class ="p "> (</ span > < span class ="mf " > 4.2f </ span > < span class ="p "> ,</ span > < span class ="o " > - </ span > < span class =" n " > nan </ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
296296< span class ="p "> }</ span >
297297</ code > </ pre > </ div >
298298</ div > </ p >
299299< h3 > 出力</ h3 >
300300< p > < pre > < code > 1.0f, 2.0f : 1
3013010.0f, -2.0f : -0
3023021.5f, -0.0f : -1.5
303- inf, -2 .0f : - inf
304- inf , 2.0f : inf
305- nan, -2.0f : -nan
306- nan , 2.0f : nan
303+ - inf, 3 .0f : inf
304+ 3.0f , -inf : -3
305+ nan, -4.2f : -nan
306+ 4.2f , -nan : -4.2
307307</ code > </ pre > </ p >
308308< h3 > 備考</ h3 >
309309< p > 特定の環境では、早期に < code > constexpr</ code > 対応されている場合がある:</ p >
0 commit comments