📜  C++ copysign()

📅  最后修改于: 2020-09-25 07:29:14             🧑  作者: Mango

C++中的copysign() 函数接受两个参数,并返回一个值,该值具有第一个参数的大小和第二个参数的符号。

该函数在头文件中定义。

copysign()原型[从C++ 11标准开始]

double copysign(double x, double y);
float copysign(float x, float y);
long double copysign(long double x, long double y);
Promoted copysign(Type1 x, Type2 y); // Additional overloads for arithmetic types

从C++ 11开始,如果传递给copysign()的任何参数为long double ,则返回的Promoted类型为long double 。如果不是,则返回类型Promoteddouble

copysign()参数

copysign()返回值

copysign() 函数返回值为x且值为y的值。

示例1:相同类型参数的copysign() 函数

#include 
#include 

using namespace std;

int main()
{
    double x = 34.15, y = -13.0, result;
    
    result = copysign(x, y);
    cout << "copysign(" << x << "," << y << ") = " << result << endl;
    
    return 0;
}

运行该程序时,输出为:

copysign(34.15,-13) = -34.15

示例2:用于不同类型参数的copysign() 函数

#include 
#include 

using namespace std;

int main()
{
    double x = 34.15, result;

    int y = -54;

    result = copysign(x, y);
    cout << "copysign(" << x << "," << y << ") = " << result << endl;

    return 0;
}

运行该程序时,输出为:

copysign(34.15,-54) = -34.15