Math Copysign Function

C++ Math copysign

The function returns the value with the magnitude of x and sign of y.

Syntax

Consider two numbers 'x' and 'y'. Syntax would be:

Example

float copysign(float x, float y);
double copysign(double x, double y);
long double copysign(long double x, long double y);
promoted copysign(type1 x, type2 y);

Note: If any argument is of long double type, then the return type is promoted to long double. If not, the return type is promoted to double.

Parameter

x : Value with the magnitude.

y : Value with the sign.

Return value

It returns the value with the magnitude of x and sign of y.

Example 1

Let's see a simple example when the value of y is positive.

Example

#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    double x=15.9;
    double y=9;
    std::cout << "Values of x and y are: " <<x<<", "<<y<< std::endl;
    cout<<"copysign(15.9,9) ="<<copysign(x,y);
    return 0;
}

Output:

Output

Values of x and y are: 15.9, 9
copysign(15.9,9) =15.9

In this example, copysign returns the magnitude of x i.e 15.9 with the sign of y which is negative.

Example 2

Let's see a simple example when the value of y is negative.

Example

#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    double x=-8.6;
    double y=-3.2;
    std::cout << "Values of x and y are :" <<x<<" ,"<<y<< std::endl;
    cout<<"copysign(-8.6,-3.2) ="<<copysign(x,y);
    return 0;
}

Output:

Output

Values of x and y are :-8.6 ,-3.2
copysign(-8.6,-3.2) =-8.6

In this example, copysign returns the magnitude of x i.e 8.6 with the sign of y which is negative.

Input Required

This code uses input(). Please provide values below: