C++ copysign() 函数使用方法及示例

C++ 库函数 <cmath>

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

该函数在<cmath>头文件中定义。

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。如果不是,则返回类型Promoted为double。

copysign()参数

  • x:带有结果值大小的值。

  • y:带有结果值符号的值。

copysign()返回值

copysign()函数返回将参数y的符号赋予x的数据。

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

#include <iostream>
#include <cmath>

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 <iostream>
#include <cmath>

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

C++ 库函数 <cmath>