La función copysign () en C ++ toma dos argumentos y devuelve un valor con la magnitud del primer argumento y el signo del segundo argumento.
La función se define en el archivo de encabezado.
prototipo copysign () (A partir del estándar C ++ 11)
doble copysign (doble x, doble y); float copysign (float x, float y); largo doble copysign (largo doble x, largo doble y); Copysign promocionado (Type1 x, Type2 y); // Sobrecargas adicionales para tipos aritméticos
Desde C ++ 11, si algún argumento pasado a copysign () es long double
, el tipo de retorno Promoted
es long double
. De lo contrario, el tipo de retorno Promoted
es double
.
Parámetros de copysign ()
-
x : Valor con la magnitud del valor resultante.
-
y : Valor con el signo del valor resultante.
copysign () Valor de retorno
La función copysign () devuelve un valor con la magnitud de x y el signo de y.
Ejemplo 1: función copysign () para argumentos del mismo tipo
#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; )
Cuando ejecute el programa, la salida será:
copysign (34.15, -13) = -34.15
Ejemplo 2: función copysign () para argumentos de diferentes tipos
#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; )
Cuando ejecute el programa, la salida será:
copysign (34.15, -54) = -34.15