名前空間
変種
操作

std::copysign

提供: 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)
(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)
copysign
(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       copysign( float x, float y );
(1) (C++11およびそれ以降)
double      copysign( double x, double y );
(2) (C++11およびそれ以降)
long double copysign( long double x, long double y );
(3) (C++11およびそれ以降)
Promoted    copysign( 算術型1 x, 算術型2 y );
(4) (C++11およびそれ以降)
1-3) x の絶対値と y の符号を持つ浮動小数点値を合成します。
4) (1-3) でカバーされない算術型の引数のすべての組み合わせに対するオーバーロード集合または関数テンプレート。 任意の引数が整数型の場合、それは double にキャストされます。 任意の引数が long double の場合、戻り値型 Promotedlong double になり、そうでなければ戻り値型は必ず double になります。

目次

[編集] 引数

x, y - 浮動小数点値

[編集] 戻り値

エラーが発生しなければ、 x の絶対値と y の符号を持つ浮動小数点値が返されます。

x が NaN の場合は y の符号を持つ NaN が返されます。

y が -0 の場合、処理系が算術演算で符号付きのゼロを一貫してサポートしていれば、結果は負のみになります。

[編集] エラー処理

この関数は math_errhandling で規定されているいかなるエラーの対象でもありません。

処理系が IEEE 浮動小数点算術 (IEC 60559) をサポートしている場合、

[編集] ノート

std::copysign は NaN 値の符号を操作する移植性のある唯一の方法です (NaN の符号を検査するためには signbit も使用することができます)。

[編集]

#include <iostream>
#include <cmath>
 
int main(void)
{
    std::cout << "copysign(1.0,+2.0) = " << std::copysign(1.0,+2.0) << '\n'
              << "copysign(1.0,-2.0) = " << std::copysign(1.0,-2.0) << '\n'
              << "copysign(inf,-2.0) = " << std::copysign(INFINITY,-2.0) << '\n'
              << "copysign(NaN,-2.0) = " << std::copysign(NAN,-2.0) << '\n';
}

出力:

copysign(1.0,+2.0) = 1
copysign(1.0,-2.0) = -1
copysign(inf,-2.0) = -inf
copysign(NaN,-2.0) = -nan

[編集] 関連項目

浮動小数点値の絶対値 (|x|) を計算します
(関数) [edit]
(C++11)
指定された数値が負かどうか調べます
(関数) [edit]