In this C++ tutorial, you will learn how to use copysign(x, y) function of cmath to get a new value with the magnitude of x and sign of y, with syntax and examples.
C++ copysign()
C++ copysign(x, y) returns a new value with the magnitude of x and sign of y.
Syntax
The syntax of C++ copysign() is
copysign(x, y)
where
Parameter | Description |
---|---|
x | A double, float, long double, or integral type value. |
y | A double, float, long double, or integral type value. |
Returns
The return value depends on the type of value passed for parameters x and y. The return value of copysign() is
- double if x and y are double.
- float if x and y are float.
- long double if x and y are long double.
- Promoted to the higher of the given arguments for integral type arguments.
The synopsis of copysign() function is
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); // for integral type argument values
copysign() is a function of cmath library. Include cmath library at the start of program, if using copysign() function.
Example
In this example, we read two values from user into x and y, and find the return value of copysign(x, y) function.
C++ Program
#include <iostream>
#include<cmath>
using namespace std;
int main() {
double x, y, z;
cout << "Enter x : ";
cin >> x;
cout << "Enter y : ";
cin >> y;
double result = copysign(x, y);
cout << "copysign(x, y) : " << result << endl;
}
Output
Enter x : 5
Enter y : -2
copysign(x, y) : -5
Program ended with exit code: 0
x is positive and y is negative, hence result is negative.
Run#2
Enter x : -5
Enter y : -2
copysign(x, y) : -5
Program ended with exit code: 0
x is negative and y is negative, hence result is negative.
Run#3
Enter x : -5
Enter y : 2
copysign(x, y) : 5
Program ended with exit code: 0
x is negative and y is positive, hence result is positive.
Run#4
Enter x : 5
Enter y : 2
copysign(x, y) : 5
Program ended with exit code: 0
x is positive. and y is positive, hence result is positive.
Conclusion
In this C++ Tutorial, we learned the syntax of C++ copysign(), and how to use this function, with the help of examples.