La fonction copysign () en C ++ prend deux arguments et renvoie une valeur avec la magnitude du premier argument et le signe du second argument.
La fonction est définie dans le fichier d'en-tête.
prototype copysign () (à partir de la norme C ++ 11)
double copie (double x, double y); float copysign (float x, float y); double copysigne long (long double x, long double y); Copysign promu (Type1 x, Type2 y); // Surcharges supplémentaires pour les types arithmétiques
Depuis C ++ 11, si un argument passé à copysign () est long double
, le type de retour Promoted
est long double
. Sinon, le type de retour Promoted
est double
.
Paramètres de copysign ()
-
x : valeur avec l'amplitude de la valeur résultante.
-
y : Valeur avec le signe de la valeur résultante.
copysign () Valeur de retour
La fonction copysign () renvoie une valeur avec la magnitude de x et le signe de y.
Exemple 1: fonction copysign () pour les arguments de même type
#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; )
Lorsque vous exécutez le programme, la sortie sera:
copysign (34.15, -13) = -34.15
Exemple 2: fonction copysign () pour des arguments de différents types
#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; )
Lorsque vous exécutez le programme, la sortie sera:
copysign (34.15, -54) = -34.15